Latensi audio untuk developer aplikasi

Untuk latensi audio serendah mungkin, sebaiknya gunakan Oboe.

Oboe

Oboe menggunakan audio native dan dibangun di AAudio untuk Android 8.1 (level API 27) dan yang lebih baru serta OpenSL ES. Untuk mencapai latensi serendah mungkin bagi perangkat, setel setPerformanceMode(oboe::PerformanceMode::LowLatency) dan setSharingMode(oboe::SharingMode::Exclusive). Untuk mengetahui informasi selengkapnya tentang Oboe, lihat Panduan memulai, README.md, dan Panduan lengkap. Lihat aplikasi Soundboard untuk aplikasi contoh yang menggunakan Oboe.

Jika Anda menggunakan AudioTrack untuk membuat aliran audio output di Java untuk aplikasi yang sensitif terhadap latensi, gunakan mode PERFORMANCE_MODE_LOW_LATENCY.

Checklist penerapan

Untuk menggunakan audio native Android:

  1. Download dan instal Android NDK.
  2. Ikuti Panduan memulai untuk Oboe.
  3. Panggil setPerformanceMode(oboe::PerformanceMode::LowLatency) dan setSharingMode(oboe::SharingMode::Exclusive) di builder Oboe.
  4. Gunakan ukuran buffer dan frekuensi sampel native yang direkomendasikan yang ditampilkan oleh android.media.AudioManager.getProperty(java.lang.String).

  5. Buat handler callback Anda tetap singkat, tanpa penggunaan CPU yang berlebihan atau pemblokiran yang tidak terbatas. Hindari inversi prioritas.

  6. Sebaiknya gunakan algoritma non-blocking untuk berkomunikasi antara pengendali callback input dan output, serta antara pengendali callback dan bagian lain aplikasi Anda.

android-ndk

Jika ada pertanyaan tentang cara menggunakan audio native Android, bergabunglah ke grup diskusi android-ndk.

Melaporkan bug di Oboe

Jika Anda mengalami masalah saat menggunakan Oboe, laporkan bug.

Video