Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Aplikasi audio berperforma tinggi biasanya memerlukan fungsionalitas lebih dari sekadar kemampuan
untuk memutar atau merekam suara. Aplikasi jenis ini menuntut perilaku sistem yang realtime dan responsif. Beberapa kasus penggunaan umum antara lain:
Workstation audio digital
Synthesizer
Mesin drum
Aplikasi pembelajaran musik
Aplikasi karaoke
DJ mixing
Efek audio
Konferensi video/audio
Bagian ini menjelaskan prinsip umum dalam meminimalkan
latensi audio.
Bagian ini juga memberikan saran tentang pengambilan sampel audio, untuk membantu Anda memilih frekuensi sampel yang optimal dan mempertimbangkan kelebihan dan kekurangan penggunaan bilangan floating point untuk merepresentasikan data audio.
Bagian selanjutnya menjelaskan dua library yang
tersedia untuk menulis aplikasi audio berperforma tinggi:
OpenSL ES adalah implementasi
spesifikasi OpenSL ES™ API khusus Android dari Khronos Group.
OpenSL ES tidak direkomendasikan untuk desain baru. Developer aplikasi dan penyedia
middleware harus menargetkan Oboe atau AAudio sebagai antarmuka audio native.
AAudio dikembangkan sebagai alternatif
Android native yang ringan untuk library OpenSL ES. AAudio API lebih kecil
dan lebih mudah digunakan daripada OpenSL ES.
Referensi lainnya
Untuk mempelajari lebih lanjut, manfaatkan referensi berikut:
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-26 UTC."],[],[],null,["# High-performance audio\n\nHigh performance audio apps typically require more functionality than the simple\nability to play or record sound. They demand responsive realtime system\nbehavior. Some typical use cases include:\n\n- Digital audio workstations\n- Synthesizers\n- Drum machines\n- Music learning apps\n- Karaoke apps\n- DJ mixing\n- Audio effects\n- Video/audio conferencing\n\nThis section explains the general principles of minimizing\n[audio latency](/ndk/guides/audio/audio-latency).\nIt also provides [advice about audio sampling](/ndk/guides/audio/sampling-audio),\nto help you choose the optimal sample rate and consider the pros and cons of using floating-point\nnumbers to represent your audio data.\n\nThe rest of the section describes the two libraries that\nare available for writing high-performance audio applications:\n\n- [OpenSL ES](/ndk/guides/audio/opensl) is an Android-specific implementation of the OpenSL ES™ API specification from the Khronos Group. OpenSL ES is not recommended for new designs. App developers and middleware providers should target either Oboe or AAudio as the native audio interface.\n- [AAudio](/ndk/guides/audio/aaudio/aaudio) was developed as a lightweight, native Android alternative to the OpenSL ES library. The AAudio API is smaller and easier to use than OpenSL ES.\n\n| **Note:** Developers should consider using the open source Oboe library which is available on [GitHub](https://github.com/google/oboe). Oboe is a C++ wrapper that provides an API that closely resembles AAudio. It calls AAudio when it is available, and falls back to OpenSL ES if AAudio is not available.\n\nAdditional resources\n--------------------\n\nTo learn more, take advantage of the following resources:\n\n\u003cbr /\u003e\n\n### Sample\n\n- [Oboe Samples](https://github.com/google/oboe/tree/master/samples)\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Codelabs\n\n- [Making Waves Part 1 - Build a Synthesizer](/codelabs/making-waves-1-synth)\n- [Making More Waves - Sampler](/codelabs/making-waves-2-sampler)\n- [Build a Musical Game using Oboe](https://developer.android.com/codelabs/musicalgame-using-oboe)\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Videos\n\n- [Getting Started with Oboe](http://bit.ly/Introducing-Oboe)\n- [Best Practices for Android Audio (Google I/O '17)](https://www.youtube.com/watch?v=C0BPXZIvG-Q)\n\n\u003cbr /\u003e"]]