שכבת ההפשטה של חומרת האודיו (HAL) ב-Android מחברת את ממשקי ה-API ברמה גבוהה יותר של המסגרת הספציפית לאודיו אל android.media
הנהגים והחומרה הבסיסיים של האודיו. Audio 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 משתמש כדי להפעיל אודיו ולשלוט בניתוב האודיו.
מסגרת האפקטים משתמשת ב-Effects HAL API כדי לשלוט באפקטי האודיו. אפשר גם להגדיר אפקטים של עיבוד מקדים, כמו בקרת רווח אוטומטית ודחיית רעשי רקע, באמצעות Effects HAL API.
Common HAL API היא ספרייה של סוגי נתונים נפוצים שמשמשים את ממשקי ה-HAL API של Core ו-Effects. ל-HAL המשותף אין ממשקים ואין לו בדיקות VTS משויכות, כי הוא מגדיר רק מבני נתונים.
פרטים ספציפיים לגבי AIDL ו-HIDL מופיעים במאמרים AIDL Audio HAL ו-HIDL Audio HAL.
דרישות
בנוסף להטמעת Audio HAL ויצירת קובץ התצורה של מדיניות האודיו, עליכם לעמוד בדרישות ה-HAL הבאות:
אם פרופיל קלט אחד תומך בתיעוד של Sound Trigger (תיעוד ממאגר ה-DSP של מילות המפתח הנפוצות), ההטמעה חייבת לתמוך במספר הסטרימינגים הפעילים בפרופיל הזה בהתאם למספר הסשנים בו-זמנית שנתמכים על ידי Sound Trigger HAL.
בו-זמניות של העברת שיחות קוליות והקלטה מהמעבד של האפליקציה, כפי שמתואר בדף הקלטה בו-זמנית.