OpenSL ES
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/04/02 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2024/04/02 (UTC)."],[],[],null,["# OpenSL ES\n\nWARNING: OpenSL ES is **deprecated** . Developers should use the open source\nOboe library which is available on [GitHub](https://github.com/google/oboe).\nOboe is a C++ wrapper that provides an API that closely resembles\n[AAudio](/ndk/guides/audio/aaudio/aaudio). Oboe calls AAudio when AAudio is\navailable, and falls back to OpenSL ES if AAudio is not available.\n\nThe NDK package includes an Android-specific implementation of the\n[OpenSL ES™](https://www.khronos.org/opensles/) 1.0.1 API\nspecification from the [Khronos Group](https://www.khronos.org).\nThis library lets you use C or C++ to implement high-performance, low-latency audio, whether\nyou are writing a synthesizer, digital audio workstation, karaoke, game,\nor other real-time app.\n\n\nThe OpenSL ES™ standard exposes audio features\nsimilar to those in the [MediaPlayer](/reference/android/media/MediaPlayer) and [MediaRecorder](/reference/android/media/MediaRecorder)\nAPIs in the Android Java framework. OpenSL ES provides a C language interface as well as\nC++ bindings, allowing you to call the API from code written in either language.\n\n\nThe OpenSL ES APIs are available to help you develop and improve your app's audio performance.\n\n\nThe standard OpenSL ES headers \\\u003cSLES/OpenSLES.h\\\u003e and\n\\\u003cSLES/OpenSLES_Platform.h\\\u003e allow audio input and output. Additional\nAndroid-specific functionality is in \\\u003cSLES/OpenSLES_Android.h\\\u003e and\n\\\u003cSLES/OpenSLES_AndroidConfiguration.h\\\u003e.\n\nThis section begins by explaining\n[how to incorporate OpenSL ES into your app](/ndk/guides/audio/opensl/getting-started).\nNext, it explains what you need to know\nabout the Android implementation of OpenSL ES, focusing first on the\n[differences](/ndk/guides/audio/opensl/opensl-for-android) between this implementation and the\nreference specification and then\n[additional extensions](/ndk/guides/audio/opensl/android-extensions)\nfor Android compatibility. This section concludes with some supplemental\n[programming notes](/ndk/guides/audio/opensl/opensl-prog-notes) to ensure proper\nimplementation of OpenSL ES."]]