Lớp trừu tượng phần cứng âm thanh (HAL) của Android kết nối các API khung dành riêng cho âm thanh ở cấp độ cao hơn với android.media
các trình điều khiển và phần cứng âm thanh cơ bản. Audio HAL xác định giao diện tiêu chuẩn mà các dịch vụ âm thanh gọi tới. Audio HAL phải được triển khai để phần cứng âm thanh hoạt động chính xác.
Trang này cung cấp thông tin tổng quan về Audio HAL và cung cấp chi tiết về API cũng như các yêu cầu triển khai của nó.
Giao diện âm thanh HAL
Bắt đầu từ Android 14, giao diện Audio HAL được xác định bằng AIDL . Đối với các phiên bản trước đây, giao diện Audio HAL được xác định bằng HIDL . Các đối tác và nhà cung cấp SoC được khuyến khích triển khai lại Audio HAL của họ để cung cấp giao diện AIDL.
API HAL mới cho các tính năng được thêm vào Android 14 trở lên chỉ được hỗ trợ khi triển khai giao diện AIDL. Kể từ Android 14, không có API mới nào được thêm vào quá trình triển khai HIDL.
Việc chuyển sang AIDL, ngừng sử dụng cũng như xóa hỗ trợ cho các phiên bản Audio HAL chính trước đó sẽ giải phóng dung lượng ổ đĩa và RAM trên thiết bị. Điều này dẫn đến trải nghiệm người dùng mượt mà hơn và cho phép người dùng cuối cung cấp các tính năng mới hơn mà người dùng có thể nhìn thấy.
Xem so sánh AIDL và HIDL Audio HAL để biết thêm thông tin về sự khác biệt giữa AIDL và HIDL Audio HAL.
API HAL âm thanh
Audio HAL chứa các API sau:
- Core HAL là API chính được AudioFlinger sử dụng để phát âm thanh và kiểm soát việc định tuyến âm thanh.
API Effects HAL được khung hiệu ứng sử dụng để kiểm soát hiệu ứng âm thanh. Bạn cũng có thể định cấu hình các hiệu ứng tiền xử lý như điều khiển khuếch đại tự động và khử nhiễu thông qua API Effects HAL.
API Common HAL là một thư viện gồm các loại dữ liệu phổ biến được sử dụng bởi API HAL lõi và Effects. Common HAL không có giao diện và không có thử nghiệm VTS liên quan vì nó chỉ xác định cấu trúc dữ liệu.
Xem AIDL Audio HAL và HIDL Audio HAL để biết chi tiết cụ thể liên quan đến AIDL và HIDL tương ứng.
Yêu cầu
Ngoài việc triển khai Audio HAL và tạo tệp cấu hình chính sách âm thanh, bạn phải tuân thủ các yêu cầu HAL sau:
Nếu tính năng thu cho Trình kích hoạt âm thanh (thu từ bộ đệm DSP từ nóng) được hỗ trợ bởi một cấu hình đầu vào thì việc triển khai phải hỗ trợ số luồng hoạt động trên cấu hình này tương ứng với số phiên đồng thời được HAL kích hoạt âm thanh hỗ trợ.
Tính đồng thời của cuộc gọi thoại TX và ghi âm từ bộ xử lý ứng dụng như chi tiết trên trang Ghi âm đồng thời .