Google berkomitmen untuk memajukan ekuitas ras untuk komunitas kulit hitam. Lihat bagaimana.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Audio

Ikon Android Audio HAL

Lapisan Abstraksi Perangkat Keras audio (HAL) audio Android menghubungkan tingkat tinggi, kerangka kerja khusus audio di android.media ke driver audio dan perangkat keras yang mendasarinya. Bagian ini termasuk instruksi implementasi dan tips untuk meningkatkan kinerja.

Arsitektur audio Android mendefinisikan bagaimana fungsionalitas audio diimplementasikan dan menunjuk ke kode sumber yang relevan yang terlibat dalam implementasi.

Arsitektur audio

Gambar 1. Arsitektur audio Android

Kerangka kerja aplikasi
Kerangka kerja aplikasi termasuk kode aplikasi, yang menggunakan API android.media untuk berinteraksi dengan perangkat keras audio. Secara internal, kode ini memanggil kelas lem JNI yang sesuai untuk mengakses kode asli yang berinteraksi dengan perangkat keras audio.
JNI
Kode JNI yang dikaitkan dengan android.media memanggil kode asli level bawah untuk mengakses perangkat keras audio. JNI terletak di frameworks/base/core/jni/ dan frameworks/base/media/jni .
Kerangka asli
Kerangka asli menyediakan setara asli dengan paket android.media , memanggil Binder IPC proxy untuk mengakses layanan audio-spesifik dari server media. Kode kerangka kerja asli terletak di frameworks/av/media/libmedia .
Binder IPC
Binder IPC proxy memfasilitasi komunikasi melewati batas proses. Proxy terletak di frameworks/av/media/libmedia dan mulai dengan huruf "I".
Server media
Server media berisi layanan audio, yang merupakan kode aktual yang berinteraksi dengan implementasi HAL Anda. Server media terletak di frameworks/av/services/audioflinger .
HAL
HAL mendefinisikan antarmuka standar yang digunakan layanan audio dan yang harus Anda terapkan agar perangkat keras audio Anda berfungsi dengan benar. Antarmuka HAL audio terletak di hardware/libhardware/include/hardware . Untuk detailnya, lihat audio.h .
Driver kernel
Driver audio berinteraksi dengan perangkat keras Anda dan implementasi HAL. Anda dapat menggunakan Advanced Linux Sound Architecture (ALSA), Open Sound System (OSS), atau driver khusus (HAL adalah driver-agnostik).

Catatan : Jika Anda menggunakan ALSA, kami menyarankan external/tinyalsa untuk bagian pengguna driver karena lisensi yang kompatibel (perpustakaan mode pengguna standar adalah berlisensi GPL).

Audio asli Android berdasarkan Open SL ES (tidak ditampilkan)
API ini diekspos sebagai bagian dari Android NDK dan berada pada tingkat arsitektur yang sama dengan android.media .