studio programacion para móviles edición desarrollo curso aplicaciones aimp android audio alsa opensl

programacion - Tutoriales para OpenSL ES para Android



opensl es vs audiotrack (5)

He estado tratando de analizar el uso de la biblioteca OpenSL ES que está disponible para hacer audio nativo con Android 2.3, pero parece que los archivos de cabecera y el pdf de 600 páginas de la especificación son la única documentación disponible.

¿Dónde debo buscar ejemplos, tutoriales o una breve descripción de las capacidades?


Después de buscar bastante la información más valiosa que he encontrado:



Para aquellos de ustedes que quieran simplemente reproducir archivos de sonido individuales o grabar una instantánea corta (en un solo búfer), el proyecto NDK será suficiente. Eché un vistazo a la "Guía para principiantes de Android NDK" y realmente no explica mucho más que el proyecto NDK de muestra.

Pero realmente, para estas aplicaciones, probablemente estés mejor con una de las API de Java. Usar OpenSL ES para ellos es un poco exagerado en mi humilde opinión. Habrá mucho más código para escribir y ninguna ganancia real.

La ventaja de OpenSL es para aquellos interesados ​​en las latencias más bajas (cuando estén disponibles) para la síntesis y el procesamiento de audio, y para esto, es probable que desee transmitir audio, en lugar de reproducir / grabar búferes individuales. El capítulo del libro y el ejemplo de NDK no te enseñarán sobre eso. Los blogposts en el blog de programación de audio son más informativos para estos propósitos.


También puedes consultar el blog de programación de audio de victor lazzarini, que tiene una sección de Android: http://audioprograming.wordpress.com/category/android/

Allí encontrarás ejemplos de trabajo, fueron extremadamente útiles para mí para comenzar con openSL y pueden usarse como base para desarrollar aplicaciones de audio con ndk.

Y también, no pase por alto el documento de especificaciones, no es tan largo, después de todo, la primera parte no tiene más de cincuenta páginas y le da la perspectiva necesaria para comprender cómo funciona todo, el resto es para uso de referencia. Tenga cuidado de que algunas cosas en la implementación de Android OpenSL difieran de las especificaciones: consulte en su directorio-ndk / docs / opensles / index.html para obtener más información al respecto.


Uno de los blogs de programación de audio de Victor Lazzarini en la sección de Android es realmente un buen comienzo. http://audioprograming.wordpress.com/category/android/

Y hay un código de ejemplo descargable directo del repositorio de Bitbucket git para este blog, esa es la parte más bienvenida.

La compilación y ejecución es bastante simple. Para mí, necesito estos pasos para compilar y ejecutar este ejemplo:

  1. Instalar SWIG: swig swig-3.0.2 . Instalarlo por 3 pasos:

    $ configure $ make $ sudo make install.

  2. Edite build.sh para reflejar la ubicación de su NDK. Y ejecute el script build.sh en el directorio de nivel superior.
  3. Genera build.xml por:

    Proyecto de actualización de $ android --name opensl-es-audiotest --target 1 --path ./

  4. Construir con hormiga: $ ant depuración
  5. Luego, puede instalarlo en su dispositivo y probarlo:

    $ adb install bin / opensl-es-audiotest-debug.apk