เครื่องเสียง HAL

Audio hardware abstraction layer (HAL) ของ Android เชื่อมต่อ API เฟรมเวิร์กเฉพาะเสียงระดับสูงกว่าเข้ากับ android.media ซึ่งเป็นไดรเวอร์เสียงและฮาร์ดแวร์พื้นฐาน Audio HAL กำหนดอินเทอร์เฟซมาตรฐานที่บริการเสียงเรียกใช้ ต้องใช้ Audio HAL เพื่อให้ฮาร์ดแวร์เสียงทำงานได้อย่างถูกต้อง

หน้านี้จะแสดงภาพรวมของ Audio HAL และให้รายละเอียดของ API และข้อกำหนดการใช้งาน

อินเตอร์เฟซเสียง 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

เสียง 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 Audio HAL และ HIDL Audio HAL สำหรับรายละเอียดเฉพาะที่เกี่ยวข้องกับ AIDL และ HIDL ตามลำดับ

ความต้องการ

นอกเหนือจากการใช้ Audio HAL และการสร้างไฟล์การกำหนดค่านโยบายเสียงแล้ว คุณต้องปฏิบัติตามข้อกำหนด HAL ต่อไปนี้:

  • หากการบันทึกสำหรับทริกเกอร์เสียง (การบันทึกจากบัฟเฟอร์ DSP ของคำที่นิยม) ได้รับการสนับสนุนโดยโปรไฟล์อินพุตเดียว การใช้งานจะต้องรองรับจำนวนสตรีมที่ใช้งานอยู่ในโปรไฟล์นี้ซึ่งสอดคล้องกับจำนวนเซสชันที่เกิดขึ้นพร้อมกันซึ่งสนับสนุนโดย Sound Trigger HAL

  • ความสอดคล้องกันของการโทรด้วยเสียง TX และการบันทึกจากตัวประมวลผลแอป ตามรายละเอียดในหน้า การบันทึก พร้อมกัน