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