Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release, bukan aosp-main, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Lapisan abstraksi hardware Audio (HAL) Android menghubungkan API framework khusus
audio tingkat lebih tinggi ke
android.media
driver dan hardware audio yang mendasarinya. HAL Audio menentukan antarmuka
standar yang dipanggil oleh layanan audio. HAL Audio harus diterapkan agar
hardware audio berfungsi dengan benar.
Halaman ini memberikan ringkasan tentang Audio HAL dan memberikan detail tentang API dan
persyaratan penerapannya.
Antarmuka HAL audio
Mulai Android 14, antarmuka Audio HAL
ditentukan menggunakan AIDL. Untuk versi sebelumnya, antarmuka Audio HAL ditentukan menggunakan HIDL.
Partner dan vendor SoC dianjurkan untuk menerapkan ulang
HAL Audio mereka untuk menyediakan antarmuka AIDL.
API HAL baru untuk fitur yang ditambahkan di Android 14 dan
yang lebih tinggi hanya didukung dengan penerapan antarmuka AIDL.
Mulai Android 14, tidak ada API baru yang ditambahkan ke
implementasi HIDL.
Beralih ke AIDL serta menghentikan penggunaan dan menghapus dukungan untuk
versi utama HAL Audio sebelumnya akan mengosongkan ruang disk dan RAM di perangkat. Hal ini
mengarah pada UX yang lebih lancar dan memungkinkan fitur baru yang terlihat oleh pengguna untuk pengguna akhir.
Core HAL adalah API utama yang digunakan oleh AudioFlinger untuk memutar audio dan mengontrol
perutean audio.
Effects HAL API digunakan oleh framework efek untuk mengontrol efek audio.
Anda juga dapat mengonfigurasi efek pra-pemrosesan
seperti kontrol penguatan otomatis dan peredam bising melalui Effects HAL
API.
Common HAL API adalah library jenis data umum yang digunakan oleh Core dan
Effects HAL API. HAL Umum tidak memiliki antarmuka dan tidak ada pengujian VTS
terkait karena hanya menentukan struktur data.
Selain menerapkan HAL Audio dan membuat file konfigurasi
kebijakan audio, Anda harus mematuhi persyaratan HAL berikut:
Jika perekaman untuk Sound Trigger (perekaman dari buffer DSP hotword) didukung
oleh satu profil input, implementasi harus mendukung jumlah streaming
aktif pada profil ini yang sesuai dengan jumlah sesi serentak
yang didukung oleh Sound Trigger HAL.
Serentak TX panggilan suara dan pengambilan dari prosesor aplikasi seperti
yang dijelaskan di halaman Pengambilan serentak.
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.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-26 UTC."],[],[],null,["# Audio HAL\n\nAndroid's Audio hardware abstraction layer (HAL) connects the higher-level,\naudio-specific framework APIs into\n[`android.media`](http://developer.android.com/reference/android/media/package-summary.html)\nthe underlying audio drivers and hardware. The Audio HAL defines the standard\ninterface that audio services call in to. The Audio HAL must be implemented for\nthe audio hardware to function correctly.\n\nThis page gives an overview of the Audio HAL and provides details of its API and\nimplementation requirements.\n\nAudio HAL interface\n-------------------\n\nStarting with Android 14, the Audio HAL interface is\ndefined using [AIDL](/docs/core/audio/aidl-implement). For past versions, the\nAudio HAL interface is defined using [HIDL](/docs/core/audio/hidl-implement).\nPartners and SoC vendors are encouraged to reimplement their\nAudio HAL to provide an AIDL interface.\n\nNew HAL APIs for features added in Android 14 and\nhigher are supported **only** with the implementation of the AIDL interface.\nStarting with Android 14, no new API is added to the\nHIDL implementation.\n\nSwitching to AIDL and deprecating and removing support for previous\nmajor Audio HAL versions frees up disk space and RAM on devices. This\nleads to a smoother UX and allows for newer user-visible features for end users.\n\nSee [AIDL and HIDL Audio HAL comparison](/docs/core/audio/aidl-hidl-comp)\nfor more information about the differences between the AIDL and HIDL Audio HAL.\n\n### Audio HAL API\n\nThe Audio HAL contains the following APIs:\n\n- The Core HAL is the main API used by AudioFlinger to play audio and control the audio routing.\n- The Effects HAL API is used by the effects framework to control audio effects.\n You can also configure [preprocessing effects](/devices/audio/implement-pre-processing)\n such as automatic gain control and noise suppression through the Effects HAL\n API.\n\n | **Note:** The Audio Effects HAL API is similar to the [framework effects APIs](https://developer.android.com/reference/android/media/audiofx/AudioEffect).\n- The Common HAL API is a library of common data types used by the Core and\n Effects HAL APIs. The Common HAL has no interfaces and no associated VTS\n tests as it defines only data structures.\n\nSee [AIDL Audio HAL](/docs/core/audio/aidl-implement) and\n[HIDL Audio HAL](/docs/core/audio/hidl-implement) for specific details\nrelated to AIDL and HIDL respectively.\n| **Note:** Starting with Android 13, Audio HAL is updated to version 7.1.\n\nRequirements\n------------\n\nIn addition to implementing the Audio HAL and creating the audio policy\nconfiguration file, you must adhere to the following HAL requirements:\n\n- If capture for Sound Trigger (capture from hotword DSP buffer) is supported\n by one input profile, the implementation must support the number of active\n streams on this profile corresponding to the number of concurrent sessions\n supported by Sound Trigger HAL.\n\n | **Note:** The implementation of the [Sound trigger HAL](/docs/core/audio/sound-trigger) is located at `/hardware/interfaces/soundtrigger` and is coupled with the Audio HAL.\n- Concurrency of voice call TX and capture from the app processor as\n detailed on the [Concurrent capture](/docs/core/audio/concurrent) page."]]