เลเยอร์การแยกแยะฮาร์ดแวร์เสียง (HAL) ของ Android จะเชื่อมต่อ API ของเฟรมเวิร์กเฉพาะเสียงในระดับที่สูงขึ้นเข้ากับandroid.media
โปรแกรมควบคุมและฮาร์ดแวร์เสียงพื้นฐาน HAL เสียงจะกำหนดอินเทอร์เฟซมาตรฐานที่บริการเสียงเรียกใช้ ต้องติดตั้งใช้งาน Audio HAL เพื่อให้ฮาร์ดแวร์เสียงทำงานได้อย่างถูกต้อง
หน้านี้จะกล่าวถึงภาพรวมของ Audio HAL รวมถึงให้รายละเอียดเกี่ยวกับ API และข้อกำหนดในการใช้งาน
อินเทอร์เฟซ HAL ของเสียง
ตั้งแต่ Android 14 เป็นต้นไป อินเทอร์เฟซ HAL ของเสียงจะกำหนดโดยใช้ AIDL สำหรับเวอร์ชันก่อนหน้า อินเทอร์เฟซเสียง HAL จะกำหนดโดยใช้ HIDL เราขอแนะนำให้พาร์ทเนอร์และผู้ให้บริการ SoC ติดตั้งใช้งาน Audio HAL อีกครั้งเพื่อให้มีอินเทอร์เฟซ AIDL
HAL API ใหม่สำหรับฟีเจอร์ที่เพิ่มใน Android 14 ขึ้นไปจะรองรับเฉพาะการใช้งานอินเทอร์เฟซ AIDL ตั้งแต่ Android 14 เป็นต้นไป จะไม่มีการเพิ่ม API ใหม่ลงในการใช้งาน HIDL
การเปลี่ยนไปใช้ AIDL และการเลิกใช้งานและนำการรองรับ HAL เสียงเวอร์ชันหลักก่อนหน้าออกจะช่วยเพิ่มพื้นที่ว่างในดิสก์และ RAM ในอุปกรณ์ ซึ่งส่งผลให้ UX ราบรื่นขึ้นและช่วยให้ผู้ใช้ปลายทางเห็นฟีเจอร์ใหม่ๆ
ดูข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่าง AIDL กับ HAL เสียง HIDL ได้ที่การเปรียบเทียบ AIDL กับ HIDL Audio HAL
Audio HAL API
Audio HAL มี API ต่อไปนี้
- Core HAL คือ API หลักที่ AudioFlinger ใช้เล่นเสียงและควบคุมการกำหนดเส้นทางเสียง
เฟรมเวิร์กเอฟเฟกต์จะใช้เอฟเฟกต์ HAL API เพื่อควบคุมเอฟเฟกต์เสียง นอกจากนี้ คุณยังกำหนดค่าเอฟเฟกต์การประมวลผลก่อนการแปลงได้ เช่น การควบคุมระดับสัญญาณอัตโนมัติและการลดเสียงรบกวนผ่าน Effects HAL API
Common HAL API คือไลบรารีประเภทข้อมูลทั่วไปที่ API หลักและ Effects HAL API ใช้งาน HAL ทั่วไปจะไม่มีอินเทอร์เฟซและไม่มีการทดสอบ VTS ที่เกี่ยวข้อง เนื่องจากจะระบุเฉพาะโครงสร้างข้อมูลเท่านั้น
ดูรายละเอียดเฉพาะที่เกี่ยวข้องกับ AIDL และ HIDL ได้ที่ AIDL Audio HAL และ HIDL Audio HAL ตามลำดับ
ข้อกำหนด
นอกเหนือจากการติดตั้งใช้งาน HAL เสียงและสร้างไฟล์การกำหนดค่านโยบายเสียงแล้ว คุณยังต้องปฏิบัติตามข้อกำหนด HAL ต่อไปนี้ด้วย
หากโปรไฟล์อินพุต 1 รายการรองรับการบันทึกเสียงสำหรับทริกเกอร์เสียง (การบันทึกจากบัฟเฟอร์ DSP ของคําสั่งให้ดำเนินการ) การใช้งานต้องรองรับจํานวนสตรีมที่มีการใช้งานในโปรไฟล์นี้ซึ่งสอดคล้องกับจํานวนเซสชันที่เกิดขึ้นพร้อมกันที่ HAL ของทริกเกอร์เสียงรองรับ
การเกิดขึ้นพร้อมกันของการโทรด้วยเสียง TX และการบันทึกเสียงจากตัวประมวลผลแอปตามรายละเอียดในหน้าการบันทึกพร้อมกัน