Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les applications audio haute performance nécessitent généralement davantage de fonctionnalités que la simple lecture ou l'enregistrement audio. Elles ont besoin d'un système réactif en temps réel. Voici certains cas d'utilisation types :
Stations audionumériques
Synthétiseurs
Boîtes à rythmes
Applications d'apprentissage musical
Applications de karaoké
Mixage DJ
Effets audio
Conférence vidéo/audio
Cette section expose les principes généraux qui permettent de réduire la latence audio.
Elle fournit également des conseils sur l'échantillonnage audio pour vous aider à choisir le taux d'échantillonnage optimal, mais aussi à comprendre les avantages et les inconvénients liés à l'utilisation de nombres à virgule flottante pour représenter vos données audio.
Le reste de la section décrit les deux bibliothèques disponibles pour créer des applications audio haute performance :
OpenSL ES est une implémentation propre à Android de la spécification d'API OpenSL ES™ du Khronos Group.
Il est déconseillé d'utiliser OpenSL ES pour de nouvelles créations. Les développeurs d'applications et les fournisseurs de middleware doivent cibler Oboe ou AAudio comme interface audio native.
AAudio a été développé comme une alternative Android native et légère à la bibliothèque OpenSL ES. L'API AAudio est plus petite et plus facile à utiliser qu'OpenSL ES.
Ressources supplémentaires
Pour en savoir plus, consultez les ressources suivantes :
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 2025/07/26 (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 2025/07/26 (UTC)."],[],[],null,["# High-performance audio\n\nHigh performance audio apps typically require more functionality than the simple\nability to play or record sound. They demand responsive realtime system\nbehavior. Some typical use cases include:\n\n- Digital audio workstations\n- Synthesizers\n- Drum machines\n- Music learning apps\n- Karaoke apps\n- DJ mixing\n- Audio effects\n- Video/audio conferencing\n\nThis section explains the general principles of minimizing\n[audio latency](/ndk/guides/audio/audio-latency).\nIt also provides [advice about audio sampling](/ndk/guides/audio/sampling-audio),\nto help you choose the optimal sample rate and consider the pros and cons of using floating-point\nnumbers to represent your audio data.\n\nThe rest of the section describes the two libraries that\nare available for writing high-performance audio applications:\n\n- [OpenSL ES](/ndk/guides/audio/opensl) is an Android-specific implementation of the OpenSL ES™ API specification from the Khronos Group. OpenSL ES is not recommended for new designs. App developers and middleware providers should target either Oboe or AAudio as the native audio interface.\n- [AAudio](/ndk/guides/audio/aaudio/aaudio) was developed as a lightweight, native Android alternative to the OpenSL ES library. The AAudio API is smaller and easier to use than OpenSL ES.\n\n| **Note:** Developers should consider using the open source Oboe library which is available on [GitHub](https://github.com/google/oboe). Oboe is a C++ wrapper that provides an API that closely resembles AAudio. It calls AAudio when it is available, and falls back to OpenSL ES if AAudio is not available.\n\nAdditional resources\n--------------------\n\nTo learn more, take advantage of the following resources:\n\n\u003cbr /\u003e\n\n### Sample\n\n- [Oboe Samples](https://github.com/google/oboe/tree/master/samples)\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Codelabs\n\n- [Making Waves Part 1 - Build a Synthesizer](/codelabs/making-waves-1-synth)\n- [Making More Waves - Sampler](/codelabs/making-waves-2-sampler)\n- [Build a Musical Game using Oboe](https://developer.android.com/codelabs/musicalgame-using-oboe)\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Videos\n\n- [Getting Started with Oboe](http://bit.ly/Introducing-Oboe)\n- [Best Practices for Android Audio (Google I/O '17)](https://www.youtube.com/watch?v=C0BPXZIvG-Q)\n\n\u003cbr /\u003e"]]