2012-05-05 13 views
7

Estoy creando una aplicación simple en la que quiero reproducir un sonido. Al presionar un botón reproducir en la aplicación, reproducirá el sonido. Para la reproducción de sonido que estoy utilizando:¿Cómo recuperar la ruta de un archivo de audio o uri desde el dispositivo en Android?

MediaPlayer mediaPlayer; 
     mediaPlayer = MediaPlayer.create(this, R.raw.test_cbr); 
     mediaPlayer.setOnCompletionListener(new OnCompletionListener() 
     { 
      @Override 
      public void onCompletion(MediaPlayer mp) 
      { 
       // TODO Auto-generated method stub 
       Toast.makeText(getApplicationContext(), "Completed", 
        Toast.LENGTH_LONG).show(); 

      } 
     }); 
mediaPlayer.start(); 

y trabaja muy bien.

Pero ahora quiero que el usuario pueda seleccionar un archivo de audio del dispositivo, de modo que cuando presiona el botón de reproducción, se reproduzca el sonido seleccionado.

No estoy obteniendo ningún intento de acción como la imagen se puede recoger.

Intent photo_picker_intent = new Intent(Intent.ACTION_PICK); 
photo_picker_intent.setType("image/*"); 
startActivityForResult(photo_picker_intent, PHOTOS_FROM_GALLERY); 

En el código anterior, el usuario simplemente irá a la galería. Al hacer clic en cualquier imagen, obtendrá un URI de imagen que se puede usar para mostrar la imagen en la aplicación. Me gustaría hacer lo mismo, a excepción de una selección de archivos de audio.

+0

necesita recoger la imagen y el audio? – Dinesh

Respuesta

16

Sólo tiene que utilizar, estas dos líneas,

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(Intent.createChooser(intent, "Gallery"), reqCode); 

O

Intent intent = new Intent(); 
     intent.setType("audio/*"); 
     intent.setAction(Intent.ACTION_GET_CONTENT); 
     startActivityForResult(Intent.createChooser(intent,"Select Audio "), reqCode); 
+0

Muchas gracias. – AB1209

Cuestiones relacionadas