אודיו ברזולוציה גבוהה

מהדורת אנדרואיד 10 כוללת את השיפורים הבאים לשמע ברזולוציה גבוהה:

  • Float: WAV, FLAC codec ומחלצים מעודכנים כדי לתמוך בציפה (24+ סיביות של דיוק ללא אובדן). אפקטי Downmix ו-Virtualizer מתעדכנים לצוף. דיוק מעודכן מותר על ידי MediaPlayer (NuPlayer).
  • תדר גבוה: WAV, FLAC codec ומחלצים מעודכנים לתמיכה ב-192 קילו-הרץ. אפקטי ברירת המחדל של אנדרואיד נבדקים לתמיכה ב-192 קילו-הרץ בתדרים סטנדרטיים. התדרים הסטנדרטיים המותרים הם 88.2 קילו-הרץ, 96 קילו-הרץ, 176.4 קילו-הרץ ו-192 קילו-הרץ.
  • רב-ערוצי: אפקטי השמעת אנדרואיד המוגדרים כברירת מחדל נבדקים עבור תמיכה רב-ערוצית לשמונה ערוצים.
  • תזמון: מידע תזמון כלול בכל מסגרת האודיו.

החל מ-Android 9, השיפורים הבאים אינם דורשים הטמעת שותף:

  • מספר רצועות הפלט של הלקוח בו-זמנית גדל מ-14 ל-40, מכיוון שמופעי לקוח מוגבלים של AudioTrack היו בעיה עבור אפליקציות ב-Android 8.x.
  • זיכרון הלקוח/שרת המרבי גדל מ-4 MB ל-32 MB (בהתאם לזיכרון הכולל של המכשיר) כדי לאפשר יותר רצועות שמע ברזולוציה גבוהה בו-זמנית.
  • סך הרצועות המעורבות עולה מ-32 ל-256 כדי למנוע מחלוקת בין אפליקציות לבין ממשק המשתמש של המערכת.

שינויים באפקט הפלט

ראה שינויים באפקטי אודיו עבור אנדרואיד 11.

לפני שחרורו של אנדרואיד 9, עיבוד שרשרת אפקטים יושם בפורמט מדגם stereo int16. היו לזה מספר מגבלות:

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

במהדורת אנדרואיד 9, צינור עיבוד שרשרת האפקט משודרג כדי לתמוך בפורמט הצף הרב-ערוצי. נקודות מפתח:

  • אפקטי תוכנת אנדרואיד כבר הועברו ל-stereo float.
  • אפקטים מדור קודם נתמכים עם מתאמי פורמט, הממירים float ל-int16 לפי הצורך.

יישם אפקטי פלט

יישום ייחוס עבור אפקטי פלט זמין תחת frameworks/av/media/libeffects .

שותפים המיישמים אפקטי פלט מותאמים אישית משלהם צריכים לעשות את הפעולות הבאות עבור מהדורת אנדרואיד 10:

  • עדכן אפקטי פלט כדי לתמוך בפורמט הצף הרב-ערוצי:
    • אין עוד צורך בתמיכה בעיבוד Int16.
    • תמיכה בספירות של ערוצי פלט בין 2–8 (לתאימות עתידית שקול ספירות בין 1–30).
    • תמיכה בספירת ערוצי קלט התואמת לספירת ערוצי פלט לאפקטים של הוספה. אפקטי עזר ממשיכים לראות ספירת ערוצי קלט של 1 (מונו).
    • תמכו הן במסכות מיקום הערוץ (קנוניות) והן במסכות אינדקס ערוץ של (1 << n) - 1 .
  • אם עליך להמשיך לתמוך באפקטי פלט של ספקים מדור קודם ואינך יכול לעדכן אותם, אמת את הקוד הישן באופן הבא:
    • אפקטי פלט (הוספה) מדור קודם חייבים לדחות תצורות לא נתמכות ב- EFFECT_CMD_SET_CONFIG .
      • בדוק שהפורמט הוא int16.
      • בדוק שמסיכות ערוץ הקלט והיציאה הן סטריאו.
      • אם אחת מהבדיקות נכשלת, החזר -EINVAL .
    • אפקטי פלט מדור קודם (עזר) מוגדרים על ידי AudioFlinger עם מסכת ערוץ קלט מונו ומסיכות ערוצי פלט פוטנציאליים, תלוי אם כיור הפלט הוא רב-ערוצי. עליהם לדחות תצורות שאינן נתמכות ב- EFFECT_CMD_SET_CONFIG .
      • בדוק שהפורמט הוא int16.
      • בדוק שמסיכת ערוץ הכניסה היא מונו ומסיכת ערוץ המוצא היא סטריאו.
      • אם אחת מהבדיקות נכשלת, החזר -EINVAL .
    • אמת קוד מדור קודם. אל תניח שזה עובד!