ВНИМАНИЕ: OpenSL ES устарел . Разработчикам следует использовать библиотеку Oboe с открытым исходным кодом, доступную на GitHub . Гобой — это оболочка C++, предоставляющая API, очень похожий на AAudio . Гобой вызывает AAudio, когда AAudio доступен, и возвращается к OpenSL ES, если AAudio недоступен.
Пакет NDK включает специфичную для Android реализацию спецификации API OpenSL ES™ 1.0.1 от Khronos Group . Эта библиотека позволяет использовать C или C++ для реализации высокопроизводительного звука с малой задержкой независимо от того, пишете ли вы синтезатор, рабочую станцию цифрового звука, караоке, игру или другое приложение реального времени.
Стандарт OpenSL ES™ предоставляет функции аудио, аналогичные функциям API MediaPlayer
и MediaRecorder
в платформе Android Java. OpenSL ES предоставляет интерфейс языка C, а также привязки C++, что позволяет вызывать API из кода, написанного на любом языке.
Доступны API-интерфейсы OpenSL ES, которые помогут вам разработать и улучшить качество звука вашего приложения.
Стандартные заголовки OpenSL ES <SLES/OpenSLES.h> и <SLES/OpenSLES_Platform.h> позволяют вводить и выводить аудио. Дополнительные функции, специфичные для Android, находятся в <SLES/OpenSLES_Android.h> и <SLES/OpenSLES_AndroidConfiguration.h>.
Этот раздел начинается с объяснения того, как включить OpenSL ES в ваше приложение . Далее объясняется, что вам нужно знать о реализации OpenSL ES в Android, уделяя особое внимание различиям между этой реализацией и эталонной спецификацией, а затем дополнительным расширениям для совместимости с Android. Этот раздел завершается некоторыми дополнительными примечаниями по программированию , которые помогут обеспечить правильную реализацию OpenSL ES.