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 MediaPlayer dan MediaRecorder API 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.

OpenSL ES API 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. Fungsionalitas khusus Android lainnya adalah <SLES/OpenSLES_Android.h> dan <SLES/OpenSLES_AndroidConfiguration.h>.

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