OpenSL ES

Catatan: Sebaiknya developer mempertimbangkan penggunaan library open source Oboe yang tersedia di GitHub. Oboe adalah wrapper C++ yang menyediakan API yang sangat mirip dengan AAudio. Oboe memanggil AAudio saat tersedia, dan melakukan fallback ke OpenSL ES jika AAudio tidak tersedia.

Paket NDK menyertakan implementasi khusus Android untuk spesifikasi OpenSL ES™ 1.0.1 API dari Khronos Group. Dengan library ini, Anda dapat menggunakan C atau C++ untuk mengimplementasikan audio yang memiliki performa tinggi dan latensi rendah, baik Anda sedang menulis synthesizer, workstation audio digital, karaoke, game, maupun aplikasi real-time lainnya.

Standar OpenSL ES™ menampakkan berbagai fitur audio yang mirip dengan yang ada di API MediaPlayer dan MediaRecorder di framework Java Android. OpenSL ES menyediakan antarmuka bahasa C serta binding C++, yang memungkinkan Anda memanggil API dari kode yang ditulis dalam salah satu bahasa tersebut.

Berbagai API OpenSL ES tersedia untuk membantu Anda mengembangkan dan meningkatkan performa audio aplikasi Anda.

Header OpenSL ES standar <SLES/OpenSLES.h> dan <SLES/OpenSLES_Platform.h> mendukung input dan output audio. Fungsi khusus Android lainnya berada dalam <SLES/OpenSLES_Android.h> dan <SLES/OpenSLES_AndroidConfiguration.h>.

Bagian ini dimulai dengan penjelasan tentang cara mengintegrasikan OpenSL ES ke aplikasi Anda. Selanjutnya, bagian ini menjelaskan hal-hal yang perlu Anda ketahui tentang implementasi OpenSL ES di Android, yang pertama-tama berfokus pada perbedaan antara implementasi ini dan spesifikasi referensi, kemudian ekstensi tambahan untuk kompatibilitas Android. Bagian ini diakhiri dengan beberapa catatan pemrograman tambahan untuk memastikan implementasi OpenSL ES yang tepat.