יישום אודיו מרחבי ואיכותי ומעקב ראש

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

יצרני OEM יכולים לספק אפקט שמע מרווח עם תמיכה במעקב ראש ברמת הביצועים והשהייה הנדרשת, תוך שימוש בארכיטקטורת צינור האודיו החדשה ושילוב מסגרת החיישנים. פרוטוקול HID מפרט כיצד לחבר מכשיר מעקב ראש באמצעות בלוטות' ולהפוך אותו לזמין כמכשיר HID דרך מסגרת החיישנים של אנדרואיד. ראה אודיו מרחבי ומעקב ראש לדרישות נוספות ואימות.

ההנחיות בדף זה חלות על פתרון שמע מרחבי שמאמץ את ממשקי ה-API החדשים של שמע מרחבי וארכיטקטורת שמע עם טלפון אנדרואיד המריץ אנדרואיד 13 ומעלה ואוזניות תואמות עם חיישן מעקב ראש.

הנחיות ליישום מצבי אודיו מרחביים דינמיים וסטטיים

אודיו מרחבי סטטי אינו מצריך מעקב ראש, ולכן לא נדרשת פונקציונליות ספציפית באוזניות. כל האוזניות הקוויות והאלחוטיות יכולות לתמוך בשמע מרחבי סטטי.

יישום API

יצרני OEM חייבים ליישם את מחלקת Spatializer שהוצגה באנדרואיד 12. היישום חייב לעבור את מבחני ה-CTS שהוצגו עבור מחלקת Spatializer .

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

ממשק משתמש

לאחר הטמעת מחלקה Spatializer , ודא שלממשק המשתמש שלך יש את ההתנהגות הבאה:

  • כאשר האוזניות המסוגלות לאודיו מרחבי מוצמדות, הגדרות מכשיר ה-Bluetooth עבור אוזניות אלו מציגות החלפת מצב של שמע מרחבי :

    spatial-audio-ui

    איור 1. הגדרת שמע מרחבית.

  • ההגדרות זמינות כאשר הדיבורית מנותקת.

  • מצב ברירת המחדל של אודיו מרחבי לאחר ההתאמה הראשונית של האוזניות מוגדר ל- Enabled .

  • המצב שנבחר על ידי המשתמש, בין אם מופעל או מושבת, ממשיך אתחול הטלפון או ביטול ההתאמה והשיוך של האוזניות.

התנהגות פונקציונלית

פורמטים של אודיו

יש להציג את פורמטי האודיו הבאים באמצעות אפקט המרווח כאשר האודיו המרחבי מופעל והתקן העיבוד הוא אוזניות קוויות או Bluetooth:

  • AAC, 5.1 ערוצים
  • PCM גולמי, 5.1 ערוצים

לחוויית משתמש טובה יותר, אנו ממליצים בחום לתמוך בפורמטים/תצורות הערוצים הבאים:

  • Dolby Digital Plus
  • 5.1.2, 7.1, 7.1.2, 7.1.4 ערוצים

השמעת תוכן סטריאו

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

השתמש במעברי מקרה ובמקבילות

טפל במקרים של שימוש מיוחד באופן הבא:

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

עיבוד על רמקולים

אין צורך בתמיכה במרחב אודיו ברמקולים, או במצב transaural .

הנחיות ליישום מעקב ראש

סעיף זה מתמקד באודיו מרחבי דינמי, שיש לו דרישות ספציפיות לאוזניות.

ממשק משתמש

לאחר ההטמעה והשיוך של האוזניות המסוגלות לאודיו מרחבי, ודא שלממשק המשתמש שלך יש את ההתנהגות הבאה:

  • בהגדרות מכשיר ה-Bluetooth, כאשר הגדרת אודיו מרחבי עבור האוזניות מופעלת, הגדרת מעקב ראש מופיעה תחת אודיו מרחבי :

    ht-ui

    איור 2. הגדרת אודיו מרחבי ומעקב ראש.

  • הגדרת מעקב הראש אינה גלויה כאשר השמע המרחבי מושבת.

  • מצב ברירת המחדל עבור מעקב ראש לאחר ההתאמה הראשונית של האוזניות מוגדר ל- Enabled .

  • המצב שנבחר על ידי המשתמש, בין אם מופעל או מושבת, חייב להימשך באמצעות אתחול מחדש של הטלפון או ביטול ההתאמה והשיוך של האוזניות.

התנהגות פונקציונלית

דיווח על תנוחת ראש

  • מידע על תנוחת הראש, בקואורדינטות x, y ו-z, הנשלח מהאוזניות למכשיר האנדרואיד, חייב לשקף את תנועות הראש של המשתמש במהירות ובדייקנות.
  • דיווח על תנוחת ראש דרך קישור ה-Bluetooth חייב לפעול לפי הפרוטוקול שהוגדר מעל HID .
  • האוזניות חייבות לשלוח את מידע מעקב הראש לטלפון אנדרואיד רק כאשר המשתמש מאפשר מעקב ראש בממשק המשתמש של הגדרות מכשיר ה-Bluetooth.

ביצועים

חֶבִיוֹן

חביון מעקב ראש מוגדר כזמן שלוקח מתנועת הראש הנקלטת על ידי יחידת המדידה האינרטית (IMU) ועד לזיהוי של מתמרי האוזניות של השינוי בצליל הנגרם על ידי תנועה זו. זמן האחזור של מעקב ראש לא יעלה על 150 אלפיות השנייה.

שיעור דיווח על תנוחת ראש

כאשר מעקב ראש פעיל, האוזניות חייבות לדווח על תנוחת הראש על בסיס תקופתי מומלץ של כ-20 אלפיות השנייה. כדי להימנע מהפעלת לוגיקת זיהוי הקלט המעופש בטלפון במהלך ריצוד שידור של ה-Bluetooth, הזמן המרבי בין שני עדכונים לא יעלה על 40 אלפיות השנייה.

אופטימיזציה של הספק

כדי לייעל את הכוח, אנו ממליצים שהיישום ישתמש במנגנוני מיתוג ה-Codec של Bluetooth ובמנגנוני בחירת מצב השהייה המסופקים על ידי ממשקי האודיו HAL ו- Bluetooth audio HAL .

יישומי ה-AOSP של מסגרת האודיו ו-Bluetooth מחסנית כבר תומכים באותות לשליטה במיתוג ה-codec. אם היישום של ה-OEM משתמש ב-HAL האודיו הראשי עבור אודיו של Bluetooth, הידוע כ- codec offload mode , ה-OEM חייב להבטיח ש-HAL האודיו מעביר את האותות האלה בין ה-HAL של האודיו לערימת ה-Bluetooth.

החלפת Codec

כאשר אודיו מרחבי דינמי ומעקב ראש מופעלים, השתמש ב-codec עם אחזור נמוך, כגון Opus . בעת הפעלת תוכן אודיו לא מרחבי, השתמש ב-codec בעל הספק נמוך, כגון Advanced Audio Coding (AAC) .

פעל לפי הכללים הבאים במהלך החלפת Codec:

  • עקוב רק אחר הפעילות בזרמי פלט HAL האודיו הבאים:
    • פלט מרחבי ייעודי
    • זרמים ספציפיים למדיה, כגון מאגר עמוק או השמעה דחוסה
  • כאשר כל הזרמים הרלוונטיים אינם פעילים וזרם המרווח מתחיל, הפעל את זרם ה-Bluetooth כאשר isLowLatency מוגדר כ- true כדי לציין codec עם אחזור נמוך.

  • כאשר כל הזרמים הרלוונטיים אינם פעילים ומתחיל זרם מדיה, הפעל את זרם ה-Bluetooth כאשר isLowLatency מוגדר ל- false כדי לציין codec בעל הספק נמוך.

  • אם זרם מדיה פעיל וזרם המרווח מתחיל, הפעל מחדש את זרם ה-Bluetooth כאשר isLowLatency מוגדר כ- true .

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

התאמת מצב חביון

התאמת מצב השהייה מתרחשת כאשר נבחר ה-Codec עם חביון נמוך.

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