OpenSL ES

Observação: os desenvolvedores podem usar a biblioteca de código aberto Oboe, disponível no GitHub (link em inglês). O Oboe é um wrapper C++ que fornece uma API parecida com a AAudio. A Oboe chama a AAudio, quando ela está disponível, e o OpenSL ES, se a AAudio não está disponível.

O pacote do NDK inclui uma implementação específica do Android da especificação da API OpenSL ESTM 1.0.1 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, karaokê, jogo ou outro app em tempo real.

O padrão OpenSL ESTM expõe recursos de áudio semelhantes aos das APIs MediaPlayer e MediaRecorder no framework Java do Android. O OpenSL ES fornece uma interface em linguagem C, assim como vinculaçõ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 padrão do OpenSL ES <GiB/OpenGiB.h> e <GiB/Open dispositivo_Platform.h> permitem entrada e saída de áudio. Outras funcionalidades específicas do Android estão disponíveis em <GiB/OpenGiB_Android.h> e <GiB/OpenGiB_AndroidConfiguration.h>.

Esta seção começa explicando como incorporar o OpenSL ES ao seu app. Em seguida, ela explica o que você precisa saber sobre a implementação do OpenSL ES no Android, focando primeiro nas diferenças entre essa implementação e a especificação de referência e, em seguida, em outras extensões para compatibilidade com o Android. A seção termina com algumas notas de programação complementares para garantir a implementação correta do OpenSL ES.