gentoo linux, java, software libre y otras hierbas
jun, 14 2010 - 8:50 pm

Reproducir clip de audio en Android

Esta receta es bastante simple para reproducir clips de audio en Android. Basta con usar el método create(context, int) de la clase MediaPlayer, pasándole como parámetro el actividad que desde donde se reproduce el sonido y la referencia al archivo de audio a reproducir. Tan sencillo como esto:

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class TestSonido extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button boton = (Button) findViewById(R.id.reproducir);
		boton.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				MediaPlayer mp = MediaPlayer.create(TestSonido.this, R.raw.slayer);
				mp.start();
			}
		});
	}
}

En este caso, R.raw.slayer representa un archivo de audio con nombre “slayer.mp3″ almacenado en la carpeta res/raw y el sonido se reproduce al presionar el botón con id reproducir.

11 Comentarios | deja el tuyo

jun, 08 2010 - 11:43 am

Obtener dirección IP del WIFI en Android

Este es un tip muy útil que permite obtener la dirección IP que tengamos asignada vía una conexión Wireless.

public String getLocalIpAddress() {
    try {
        for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
            NetworkInterface intf = en.nextElement();
            for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
                InetAddress inetAddress = enumIpAddr.nextElement();
                if (!inetAddress.isLoopbackAddress())
                    return inetAddress.getHostAddress().toString();
            }
        }
    } catch (SocketException ex) {}
    return null;
}

Existen otras maneras de hacerlo, por ejemplo usando las clases WifiManager y WifiInfo, pero es mucho más confiable el método anterior. Además, este método funciona no solo en *Android*, sino en cualquier proyecto Java.

4 Comentarios | deja el tuyo

may, 11 2010 - 1:01 am

Android: mostrar aplicaciones horizontalmente por defecto

Este tip sirve para hacer que las aplicaciones no tengan el comportamiento habitual: cargarse y modificarse según la posición del dispositivo; sino hacer que siempre la orientación sea la misma. Esto es útil por ejemplo al momento de crear video juegos, en donde muchas veces es mejor mostrar todo horizontalmente para aprovechar mejor la pantalla.

Para ello solo debemos agregar un par de atributos al XML de la actividad:

<activity android:name=".NombreActividad"
                  android:label="el label"
                  android:screenOrientation="landscape"
                  android:configChanges="orientation">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

Se puede también poner android:screenOrientation="portrait" para que sea siempre vertical.

4 Comentarios | deja el tuyo

« Entradas anteriores
Entradas recientes »