Audio HAL

שכבת ההפשטה של חומרת האודיו (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 והוצאה משימוש של גרסאות קודמות של Audio HAL וביטול התמיכה בהן מפנים מקום בדיסק ובזיכרון ה-RAM במכשירים. כך חוויית המשתמש תהיה חלקה יותר, ומשתמשי הקצה יוכלו לראות תכונות חדשות.

מידע נוסף על ההבדלים בין AIDL לבין HIDL Audio HAL מופיע במאמר השוואה בין AIDL לבין HIDL Audio HAL.

Audio HAL API

‫Audio HAL מכיל את ממשקי ה-API הבאים:

  • ה-Core HAL הוא ה-API הראשי שמשמש את AudioFlinger להפעלת אודיו ולשליטה בניתוח של האודיו.
  • ה-API של HAL לאפקטים משמש את ה-framework של האפקטים לשליטה באפקטים של אודיו. אפשר גם להגדיר אפקטים של עיבוד מקדים, כמו בקרה אוטומטית של עוצמת הקול וביטול רעשים, באמצעות ה-API של Effects HAL.

  • Common HAL API היא ספרייה של סוגי נתונים נפוצים שמשמשים את ממשקי ה-API של Core ו-Effects HAL. ל-Common HAL אין ממשקים ואין בדיקות VTS משויכות, כי הוא מגדיר רק מבני נתונים.

פרטים ספציפיים שקשורים ל-AIDL ול-HIDL מפורטים במאמרים AIDL Audio HAL ו-HIDL Audio HAL.

דרישות

בנוסף להטמעה של Audio HAL וליצירה של קובץ התצורה של מדיניות האודיו, צריך לעמוד בדרישות הבאות של HAL:

  • אם פרופיל קלט אחד תומך בלכידה של הפעלה קולית (לכידה ממאגר DSP של מילת הפעלה), ההטמעה צריכה לתמוך במספר הזרמים הפעילים בפרופיל הזה, שמתאים למספר הסשנים המקבילים שנתמכים על ידי Sound Trigger HAL.

  • ההקלטה והשידור של שיחות קוליות מתבצעים בו-זמנית על ידי מעבד האפליקציה, כפי שמפורט בדף הקלטה בו-זמנית.