studio programacion móviles libros guardar desarrollo desarrollar datos curso cache aprende aplicaciones android audio playback

móviles - manual de programacion android pdf



Directorio para almacenar archivos de audio en Android (4)

Espero que esto ayude:

crudo/

Archivos arbitrarios para guardar en su forma cruda. Para abrir estos recursos con un InputStream sin procesar, llame a Resources.openRawResource () con el ID del recurso, que es R.raw.nombre de archivo.

Sin embargo, si necesita acceder a nombres de archivo originales y jerarquía de archivos, puede considerar guardar algunos recursos en el directorio assets / (en lugar de res / raw /). Los archivos en activos / no tienen una ID de recurso, por lo que puede leerlos solo mediante AssetManager.

es de la guía de desarrollo .

[Editar: pero no creo que sea una buena idea poner tus archivos de música en el directorio de res en absoluto - ¿Depende de cuál es el propósito de estos archivos?]

Quiero reproducir un archivo de audio basado en el clic de un botón. onClickListener() método onClickListener() y el archivo de diseño. Cuando agrego los archivos wav al directorio res/ , obtengo el siguiente error de compilación:

nombre de directorio de recursos no válido temp.wav / hello / res línea 1 Android AAPT problema

Mi pregunta es la siguiente:
1. ¿En qué directorio necesito almacenar archivos de audio? Actualmente están en la carpeta res /.
2. Además, mp.setDataSource("/res/temp.wav") la forma correcta de invocar al reproductor multimedia?


Los archivos de audio se pueden mover a una carpeta llamada raw que se debe crear en la carpeta res.

Se puede acceder mediante el siguiente código:

MediaPlayer mPlayer = MediaPlayer.create(context, R.raw.soundclip); mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mPlayer.start();

Esta es la manera más fácil. Puedes probarlo..


Tenga en cuenta que prepararse puede llevar algo de tiempo, por lo que puede ralentizar las interacciones de los usuarios con su aplicación. Vea las notas de desarrollo here , en particular la sección Preparación asincrónica.

También puede usar SoundPool si los archivos tienen menos de 1 MB de tamaño. Esto maneja la sincronización con el hilo de UI por usted. Este es un artículo muy útil sobre el uso del mismo (¡Lars tiene varios artículos geniales!).


no coloque los archivos multimedia dentro de res/

Coloque sus archivos (temp.wav) en una carpeta llamada / sdcard / audio (si está usando un emulador).

y haz esto:

mp.setDataSource("/sdcard/audio/temp.wav");