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