OpenSL ES
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Nota: Los desarrolladores deben considerar el uso de la biblioteca Oboe de código abierto que está disponible en GitHub. Oboe es un wrapper de C++ que proporciona una API similar a AAudio. Oboe llama a AAudio cuando está disponible, y recurre a OpenSL ES si no lo está.
El paquete del NDK incluye una implementación específica para Android de la especificación de la API de OpenSL ES™ 1.0.1 de Khronos Group.
Esta biblioteca te permite usar C o C++ para implementar audio de alto rendimiento y baja latencia, ya sea que escribas en un sintetizador, estación de audio digital, karaoke, juegos o alguna otra app en tiempo real.
El estándar de OpenSL ES™ ofrece funciones de audio similares a las de las APIs de MediaPlayer
y MediaRecorder
en el framework de Java para Android. OpenSL ES proporciona una interfaz de lenguaje C y vinculaciones C++ que te permiten llamar a la API con código escrito en cualquier lenguaje.
Las APIs de OpenSL ES están disponibles para ayudarte a desarrollar y mejorar el rendimiento del audio de tu app.
Los encabezados estándar de OpenSL ES <SLES/OpenSLES.h> y <SLES/OpenSLES_Platform.h> permiten la entrada y salida de audio. Otras funcionalidades específicas de Android se encuentran en <SLES/OpenSLES_Android.h> y <SLES/OpenSLES_AndroidConfiguration.h>.
En esta sección, se explica en primer lugar cómo incorporar OpenSL ES en tu app. A continuación, se indica lo que debes saber sobre la implementación de OpenSL ES para Android, enumerando primero las diferencias entre esta implementación y la especificación de referencia y, luego, las extensiones adicionales para obtener compatibilidad con Android. La sección finaliza con notas de programación complementarias para garantizar la implementación correcta de OpenSL ES.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2024-02-21 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2024-02-21 (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."]]