Remarque : Nous recommandons aux développeurs d'utiliser la bibliothèque Oboe Open Source, disponible sur GitHub. Oboe est un wrapper C++ qui fournit une API ressemblant fortement à AAudio. Il appelle AAudio s'il est disponible et utilise OpenSL ES dans le cas contraire.
Le package NDK inclut une implémentation spécifique à Android de la spécification d'API OpenSL ES™ 1.0.1 du groupe Khronos. Cette bibliothèque vous permet d'utiliser C ou C++ pour implémenter des contenus audio hautes performances et à faible latence, qu'il s'agisse de l'écriture d'un synthétiseur, d'une station de travail audio numérique, d'un karaoké, d'un jeu ou d'une autre application en temps réel.
La norme OpenSL ES™ expose des fonctionnalités audio semblables à celles des API MediaPlayer
et MediaRecorder
du framework Java Android. OpenSL ES propose une interface en langage C ainsi que des liaisons C++, qui vous permettent d'appeler l'API à partir de code écrit dans l'un des deux langages.
Les API OpenSL ES vous aident à développer et à améliorer les performances audio de votre application.
Les en-têtes OpenSL ES standards <SLES/OpenSLES.h> et <SLES/OpenSLES_Platform.h> autorisent l'entrée et la sortie audio. Des fonctionnalités supplémentaires spécifiques à Android se trouvent dans <SLES/OpenSLES_Android.h> et <SLES/OpenSLES_AndroidConfiguration.h>.
Cette section commence par expliquer comment intégrer OpenSL ES dans votre application. Elle explique ensuite ce que vous devez savoir sur l'implémentation Android d'OpenSL ES, en se concentrant d'abord sur les différences entre cette implémentation et la spécification de référence, puis sur les extensions supplémentaires pour la compatibilité avec Android. Cette section se termine par quelques notes de programmation supplémentaires visant à garantir une implémentation appropriée d'OpenSL ES.