Audio HAL

Lớp trừu tượng phần cứng (HAL) Âm thanh 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 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 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, đồng thời cung cấp thông tin chi tiết về API và 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 quá trình 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 HAL âm thanh 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ý như tính năng tự động điều chỉnh độ khuếch đại và khử tiếng ồn thông qua API Effects HAL.

  • Common HAL API là một thư viện gồm các kiểu dữ liệu phổ biến mà Core và Effects HAL API 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 AIDL Audio HALHIDL Audio HAL để 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 Audio HAL và tạo tệp cấu hình chính sách về â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 Sound Trigger (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à Sound Trigger HAL 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.