Untuk latensi audio serendah mungkin, sebaiknya gunakan Oboe.
Oboe
Oboe menggunakan audio native dan di-build
di AAudio untuk Android 8.1+ dan OpenSL ES untuk versi Android yang lebih lama. Untuk mencapai latensi
terendah untuk perangkat, tetapkan setPerformanceMode(oboe::PerformanceMode::LowLatency)
dan setSharingMode(oboe::SharingMode::Exclusive)
.
Lihat Panduan memulai,
README.md
,
dan Panduan lengkap untuk mengetahui informasi
selengkapnya tentang Oboe. Lihat aplikasi Soundboard
untuk aplikasi contoh yang menggunakan Oboe.
Catatan: Jika Anda menggunakan AudioTrack
untuk membuat streaming audio output di Java untuk aplikasi yang sensitif terhadap latensi, gunakan mode
PERFORMANCE_MODE_LOW_LATENCY
.
Checklist penerapan
Untuk menggunakan audio native Android:
- Download dan instal Android NDK.
- Ikuti Panduan memulai untuk Oboe.
-
Panggil
setPerformanceMode(oboe::PerformanceMode::LowLatency)
dansetSharingMode(oboe::SharingMode::Exclusive)
di builder Oboe. -
Gunakan ukuran buffer native dan frekuensi sampel yang direkomendasikan yang ditampilkan oleh
android.media.AudioManager.getProperty(java.lang.String).
Catatan: Ukuran buffer dan frekuensi sampel yang sama juga harus digunakan untuk input.
- Buat pengendali callback Anda singkat, tanpa penggunaan CPU yang tiba-tiba atau pemblokiran yang tidak terbatas. Hindari inversi prioritas.
- Pertimbangkan untuk menggunakan algoritma non-blocking untuk berkomunikasi antara pengendali callback input dan output, dan antara pengendali callback dan seluruh aplikasi Anda.
Referensi lainnya
source.android.com
Situs source.android.com didesain terutama untuk OEM yang mem-build perangkat Android, dan vendor SoC yang memasok komponen ke OEM ini.
Namun, ada banyak informasi berguna tentang latensi di situs ini, jadi Anda dapat meninjaunya. Lihat artikel di Latensi audio.
android-ndk
Jika ada pertanyaan tentang cara menggunakan audio native Android, Anda dapat bertanya di grup diskusi android-ndk.
Melaporkan bug di Oboe
Jika mengalami masalah saat menggunakan Oboe, Anda dapat melaporkan bug.
Video
- Mulai menggunakan Oboe
- Audio Latensi Rendah - Karena Telinga Anda Layak Mendapatkan yang Terbaik
- Android Dev Summit 2018.
- Menang di Android - Cara mengoptimalkan aplikasi audio Android
- Tantangan Developer Android 2018.
- Audio berperforma tinggi di Android (Google I/O 2013)
- Seluruh video membahas latensi.
- Membuat pengalaman multimedia yang luar biasa di Android (Google I/O 2014)
- 14 menit pertama membahas audio secara umum dan latensi input secara khusus.
- Latensi audio: ukuran buffer (100 Days of Google Dev)
- Menjelaskan hubungan antara latensi audio, ukuran buffering, dan penjadwalan tugas.