OpenSL ES

Observação: os desenvolvedores podem usar a biblioteca de código aberto Oboe, que está disponível no GitHub. O Oboe é um wrapper C++ que fornece uma API parecida com o AAudio. O Oboe chama o AAudio, mas se essa opção não estiver disponível, ele chama o OpenSL ES.

O pacote do NDK inclui uma implementação específica do Android da especificação da API OpenSL ES™ do Khronos Group. Essa biblioteca permite usar C ou C++ para implementar áudio de alto desempenho e baixa latência, seja para programar um sintetizador, estação de trabalho de áudio digital, caraoquê, jogo ou outro aplicativo de tempo real.

O padrão OpenSL ES™ expõe recursos de áudio parecidos aos das APIs MediaPlayer e MediaRecorder na estrutura em Java do Android. O OpenSL ES fornece uma interface em linguagem C assim como associações a C++, permitindo chamar a API a partir do código escrito em ambas as linguagens.

As APIs OpenSL ES estão disponíveis para ajudar você a desenvolver e melhorar o desempenho de áudio do seu aplicativo.

Os cabeçalhos <SLES/OpenSLES.h> e <SLES/OpenSLES_Platform.h> padrão do OpenSL ES permitem entrada e saída de áudio. Outra funcionalidade específica do Android está em <SLES/OpenSLES_Android.h> e <SLES/OpenSLES_AndroidConfiguration.h>.

Esta seção começa explicando como incorporar o OpenSL ES ao seu aplicativo. Em seguida, lista o que é necessário para a implementação do OpenSL ES no Android, com ênfase nas diferenças entre essa implementação e a especificação de referência em um primeiro momento e, depois, nas extensões adicionais para compatibilidade com o Android. A seção termina com notas de programação complementares para uma implementação correta do OpenSL ES.