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,
trong
android.media với
trình điều khiển âm thanh và phần cứng cơ bản. HAL âm thanh xác định giao diện tiêu chuẩn mà các dịch vụ âm thanh gọi đến. Bạn phải triển khai HAL âm thanh để 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.
Giao diện HAL âm thanh
Trong Android 14 trở lên, giao diện HAL âm thanh được xác định bằng AIDL. Đối với các phiên bản trước, giao diện HAL âm thanh được xác định bằng HIDL. Đối tác và nhà cung cấp SoC nên triển khai lại HAL âm thanh để cung cấp giao diện AIDL.
Các 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. Trong Android 14 trở lên, 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 và xoá hỗ trợ cho các phiên bản HAL âm thanh chính trước đây sẽ giúp giải phóng dung lượng ổ đĩa và RAM trên thiết bị. Điều này giúp 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 HAL âm thanh AIDL và HIDL để biết thêm thông tin về sự khác biệt giữa HAL âm thanh AIDL và HIDL.
API HAL âm thanh
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.
API Effects HAL được khung hiệu ứng 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ư tự động điều chỉnh mức tăng và khử tiếng ồn thông qua API Effects HAL.
API Common HAL là một thư viện gồm các kiểu dữ liệu phổ biến mà API Core và Effects HAL sử dụng. Common HAL không có giao diện và không có bài kiểm tra VTS liên kết vì chỉ xác định cấu trúc dữ liệu.
Hãy xem bài viết HAL âm thanh AIDL và HAL âm thanh HIDL để biết thông tin chi tiết 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 hồ sơ đầu vào hỗ trợ tính năng ghi cho Trình kích hoạt âm thanh (ghi từ bộ đệ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 hồ sơ này tương ứng với số lượng phiên đồng thời mà HAL Trình kích hoạt âm thanh hỗ trợ.
Tính đồng thời của TX cuộc gọi thoại và ghi từ bộ xử lý ứng dụng như trình bày chi tiết trên trang Ghi đồng thời.