24 - Reproducción de audio (archivo contenido en una tarjeta SD)


El objetivo de este concepto es acceder a un archivo mp3 almacenado en la tarjeta SD de nuestro equipo.

Problema:

Disponer un botón con la etiqueta: "Gato", luego cuando se presione reproducir el archivo de audio respectivo. El archivo de sonido almacenarlo en la tarjeta SD.

Luego de crear el proyecto debemos ejecutar la aplicación en modo depuración para poder acceder a la tarjeta SD que crea el emulador Android. Para ejecutar la aplicación en modo "Debug" presionamos el botón derecha del mouse sobre el proyecto y seleccionamos la opción "Debug A" "Android Aplication":

play mp3 android tarjeta SD

Una vez que se este ejecutando la aplicación (no importa que todavía no hemos implementado su funcionalidad) procedemos a abrir la ventana "File Explorer" de Android. Seleccionamos del menú de opciones de Eclipse: Window -> Show View -> Other :

play mp3 android tarjeta SD

Y en esta ventana seleccionamos Android -> FileExplorer:

play mp3 android tarjeta SD

Ahora podemos ver la ventana donde administramos los archivos contenidos en la tarjeta SD que emula el "Android Virtual Device":

play mp3 android tarjeta SD

En la carpeta sdcard debemos subir el archivo mp3 (debemos seleccionar esta carpeta con el mouse)
Esto lo hacemos mediante un botón que aparece en la parte derecha de esta ventana "Push a file onto device", luego de esto tenemos el archivo montado en la tarjeta SD:

play mp3 android tarjeta SD

Ahora implementemos la interfaz de nuestra aplicación (un solo botón) que cuando se presione llame al método ejecutar:

play mp3 android tarjeta SD

El código fuente es:

package com.androidya.proyecto021;

import android.app.Activity;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    public void ejecutar(View v) {
        Uri datos = Uri.parse(Environment.getExternalStorageDirectory()
                .getPath() + "/gato.mp3");
        MediaPlayer mp = MediaPlayer.create(this, datos);
        mp.start();
    }

}

Creamos un objeto de la clase Uri llamando al método parse donde indicamos el path y nombre del archivo a recuperar:

        Uri datos = Uri.parse(Environment.getExternalStorageDirectory().getPath() +"/gato.mp3");

Creamos el objeto de la clase MediaPlayer pasando ahora la referencia del objeto de la clase Uri:

        MediaPlayer mp=MediaPlayer.create(this, datos);

Iniciamos la reproducción del mp3:

        mp.start();

Este proyecto lo puede descargar en un zip desde este enlace: proyecto021.zip

Recordar que para ejecutar este proyecto se debe subir un archivo mp3 llamado "gato.mp3" a la tarjeta SD.

Retornar