מערכת Android Automotive OS (AAOS) משתמשת בדגלים ובהגדרות כדי להפעיל תכונות שונות, החל מניתוב דינמי ועד לדגלים כלליים יותר של תכונות, כמו בקרת עוצמת הקול משירות הרכב. כאן מתוארים דגלי ההגדרה הנוכחיים של AAOS לניהול אודיו.
סימון | המטרה | |
---|---|---|
audioUseDynamicRouting |
מוגדר בקובץ התצורה של שירות הרכב כדי להפעיל ניתוב ב-AAOS.
צריך להגדיר את ההגדרה בתור true . כשהמדיניות false , הניתוב וחלק גדול מ-CarAudioService מושבתים, מערכת ההפעלה חוזרת להתנהגות ברירת המחדל שמתוארת בקטע הגדרת מדיניות האודיו.
|
|
audioUseCarVolumeGroupMuting
| מוגדר בקובץ התצורה של שירות הרכב כדי לאפשר השתקה של קבוצות נפח ספציפיות. כשהערך מוגדר ל-false (ערך ברירת המחדל), ההשתקה של קבוצות נפח ספציפיות מושבתת. במקום זאת, ההשתקה מפעילה או משביתה את ההשתקה הראשית.
כשהערך מוגדר ל-true , ההשתקה של קבוצת עוצמת הקול ברכב מופעלת וניתן להשתיק כל קבוצת עוצמת קול בנפרד. כשהערך הוא true , צריך להטמיע את ההשתקה של קבוצת עוצמת הקול ב-Audio Control HAL.
| |
audioUseHalDuckingSignals |
מוגדר בקובץ התצורה של שירות הרכב כדי לאפשר ל-IAudioControl#onDevicesToDuckChange API להודיע ל-HAL מתי להתכופף. כשהערך הוא true (ערך ברירת המחדל), ה-API מקבל אותות שמציינים אילו מכשירי פלט להשתיק ואילו שימושים להתמקד בהם. כשהערך הוא false , לא מתבצעת קריאה ל-API. ה-API לא נקרא אלא אם Audio Control HAL מטמיע את ההשתקה.
|
|
config_oemCarService |
השם של הרכיב בשירות להתאמה אישית של יצרן ציוד מקורי, שמוגדר בקובץ התצורה של שירות הרכב. יצרני ציוד מקורי יכולים להטמיע את השירות הזה כדי להתאים אישית את הפעולות של שירותי הרכב למדיניות שונה. אם יצרני ציוד מקורי (OEM) בוחרים להטמיע את הרכיב הזה, הם צריכים להטמיע שירות להרחבת OemCarService שמוצג על ידי car-lib, ואז להטמיע את שירותי הרכיבים הנדרשים. בשירותי אודיו לרכב, יצרני ציוד מקורי יכולים להטמיע כל אחד משירותי האודיו המשניים כדי לנהל את הפעולות שקשורות לאודיו. למידע נוסף, קראו את המאמר שירות הפלאגין של Car Audio.
אם שם הרכיב לא תקין, CarService לא יתחבר לאף שירות של יצרן ציוד מקורי. שם הרכיב לא יכול להיות חבילת צד שלישי. האפליקציה חייבת להיות מותקנת מראש. |
|
audioVolumeAdjustmentContextsVersion |
הגדרה בקובץ התצורה של שירות הרכב, שמאפשרת לבחור את הגרסה של רשימת העדיפויות של ההקשר של התאמת עוצמת הקול. גרסה 1 כוללת את כל ההקשרים של האודיו, לפי הסדר הבא:
גרסה 2 מוגבלת להקשרים הבאים, לפי הסדר הזה. גרסת ברירת המחדל היא
|
|
audioPersistMasterMuteState |
מוגדר בקובץ התצורה של שירות הרכב, הגדרה לשמירה של מצב ההשתקה הגלובלי. כשהערך הוא true (ערך ברירת המחדל), Android משחזרת את מצב ההשתקה הגלובלי במהלך האתחול. כשהערך של audioUseCarVolumeGroupMuting הוא true , אין לכך השפעה על שינויים קבועים בהשתקת האודיו, כי השינויים בהשתקה מבוססים על קבוצות נפח ספציפיות. ערך ברירת המחדל מוגדר כ-true , וצריך לשנות אותו אם לא רוצים שההשתקה הראשית תישמר במכשיר. |
|
audioVolumeKeyEventTimeoutMs |
הגדרה בקובץ התצורה של שירות הרכב, שמציינת את זמן הקצאת הזמן באלפיות השנייה בזמן שקבוצת עוצמת הקול ברכב נחשבת לפעילה לשינויים בשליטה בעוצמת הקול במהלך אירועים של לחצני עוצמת הקול. ההגדרות משמשות באופן הבא:
ערך ברירת המחדל הוא |
|
audioUseCarVolumeGroupEvent |
הגדרה בקובץ התצורה של שירות הרכב, שמאפשרת להפעיל אירועי קריאה חוזרת לקבוצות נפח אחסון. כשהערך של true הוא 1, הלקוחות מקבלים שיחה חוזרת דרך ICarVolumeGroupEvent לגבי אירועים שמשפיעים על קבוצות נפח. כשהיא מופעלת:
ערך ברירת המחדל הוא |
|
config_useFixedVolume
| מוגדר בקובץ frameworks/base/core/res/res/values/config.xml .
צריך להגדיר את הערך ל-true כדי לאפשר לשירות האודיו ברכב לנהל את בקרת עוצמת הקול. אם הדגל config_useFixedVolume לא מוגדר, או מוגדר כ-false (ערך ברירת המחדל), אפליקציות יכולות להפעיל את ממשקי ה-API לניהול עוצמת הקול AudioManager ולשנות את עוצמת הקול לפי סוג הסטרימינג במיקסר התוכנה. יכול להיות שזה לא רצוי בגלל ההשפעה הפוטנציאלית על אפליקציות אחרות, והעובדה שהקטנת עוצמת הקול במיקסר התוכנה עלולה לגרום לכך שיהיה פחות ביטים משמעותיים שזמינים באות כשהוא מתקבל במגבר החומרה. מכשירים חדשים שלא הוגדרו והוגדר להם true לקבלת שינויים בנפח באמצעות ממשקי ה-API של הנפח וההשתקה AudioManager .
|
|
config_handleVolumeKeysInWindowManager |
מוגדר ב-frameworks/base/core/res/res/values/config.xml , וצריך להגדיר אותו כ-true כדי לאפשר לשירות האודיו ברכב ליירט אירועים מרכזיים של עוצמת קול. אם הערך מוגדר כ-false (ערך ברירת המחדל), אירועי מפתחות עוצמת הקול יכולים להישלח לאפליקציה שבחזית, וכתוצאה מכך יכולות להיות תוצאות שליליות בניהול אירועי מפתחות עוצמת הקול מחוץ לשירות האודיו ברכב. |
הגדרות של שירות אודיו לרכב
לפני Android 13, הגדרות השירות ברכב הוחלפו על ידי שכבת-על של הגדרות המוצר (מידע נוסף זמין במאמר התאמה אישית של ה-build באמצעות שכבות-על של משאבים) בקובץ packages/services/Car/service/res/values/config.xml
.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
המיקום של קובץ התצורה מ-<path_to_overlay>
למיקום בפועל צריך לכלול את packages/services/Car/service/res/values/
.
שירותי רכב: רשויות רישוי ורשות
החל מגרסה 13 של Android, מערכת AAOS תומכת בשכבות-על של משאבים בסביבת זמן ריצה. שימוש ב-RRO כדי לשנות את הערך של הגדרת האודיו ברכב. לדוגמה, אפשר לעיין ב-RROs של ההפניה cuttlefish
לכלי רכב ב-device/google/cuttlefish/shared/auto/rro_overlay/
. ההגדרה של audioUseDynamicRouting
מוחרגת ב-device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
.
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
מפת שכבת-העל של המשאבים נכללת ב-device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
המניפסט של שכבת-העל של המשאב שמוגדר ב-device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
מכיל את targetPackage
שמוגדר כ-com.android.car.updatable
.
למידע נוסף, אפשר לעיין במקורות המידע הבאים:
ממשק API עם תכונות מובנות
השיטה מחזירה את הערך true
אם התכונה מופעלת במכשיר, אחרת היא מחזירה את הערך false
. ב-API של CarAudioManager#isAudioFeatureEnabled
, הפרמטר המועבר חייב להיות אחד מהערכים הבאים:
AUDIO_FEATURE_DYNAMIC_ROUTING
AUDIO_FEATURE_VOLUME_GROUP_MUTING
AUDIO_FEATURE_OEM_AUDIO_SERVICE
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
AUDIO_FEATURE_AUDIO_MIRRORING