מצב סרגל קול דינמי

עם תמיכת מסגרת אנדרואיד 14, ניתן להגדיר ממירים (STBs) ומכשירי Over-the-top (OTT) עם רמקולים מובנים או מחוברים להיות סרגלי קול עבור מכשירים מחוברים. מצב סרגל הקול הדינמי (DSM) באנדרואיד 14 תומך בתכונות בקרת האלקטרוניקה הצרכנית של HDMI (CEC) עבור סרגלי הקול, כגון ערוץ החזרת שמע (ARC) ובקרת אודיו של המערכת.

תכונה זו מכוונת רק למכשירי השמעה של Android TV CEC.

דרישות

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

דרישות המכשיר

כדי לתמוך ב-DSM, התקן STB/OTT חייב לעמוד בדרישות הבאות:

  • המכשיר חייב להריץ אנדרואיד 14.
  • כאשר DSM מופעל, המכשיר חייב להתנהג כמו סרגל קול בהתאם למפרטי HDMI CEC, כגון ARC.
  • ההתקן חייב להיות מסוגל להשמיע צליל ברמקולים מובנים או מחוברים.
  • כאשר המכשיר אינו מקור פעיל, יש להשהות את כל המדיה במכשיר, מה שמגביל את צריכת החשמל שלו.

דרישות ממשק המשתמש של המערכת

כדי לתמוך ב-DSM, יצרני OEM חייבים לעמוד בדרישות הבאות בעת תכנון ממשק המשתמש של המערכת:

  • תווית ממשק המשתמש חייבת לכלול הפניה ל- ARC או ל-Audio Return Channel (ARC) .
  • על ממשק המשתמש להודיע ​​למשתמש לחבר את ההתקן ליציאת ARC של הטלוויזיה כדי ליצור את חיבור ARC.
  • ממשק המשתמש חייב ליידע את המשתמש שייתכן שהתכונה לא תפעל כמצופה אם סרגל קול או מקלט אודיו/וידאו אחר (AVR) מחובר לרשת HDMI.
  • ממשק המשתמש חייב ליידע את המשתמש שהמסך עלול להבהב בעת החלפת ההגדרה.
  • אם למכשיר אין רמקולים מובנים, DSM חייב להיות מושבת כברירת מחדל.

שיטות עבודה מומלצות: אנו ממליצים להשתמש בתפריט תצוגה וקול כמיקום עבור הגדרת המשתמש כדי להפעיל או להשבית את ARC , כפי שמוצג ביישום SysUI .

יישום מסגרת

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

בהתבסס על קלט המשתמש בממשק המשתמש של המערכת, HdmiControlManager מגדיר את CEC_SETTING_NAME_SOUNDBAR_MODE ל- SOUNDBAR_MODE_ENABLED או SOUNDBAR_MODE_DISABLED . ערך ברירת המחדל של CEC_SETTING_NAME_SOUNDBAR_MODE מוגדר ל- SOUNDBAR_MODE_DISABLED .

HdmiControlService מאזין לשינוי בהגדרת CEC_SETTING_NAME_SOUNDBAR_MODE כדי לבצע את הפעולות הבאות:

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

ראה את הדוגמה הבאה של הצהרות כדי להגדיר ולקבל את המצב של מצב סרגל הקול:

    /**
     * Name of a setting deciding whether the Soundbar mode feature is enabled.
     * Before exposing this setting make sure the hardware supports it, otherwise, you may
     * experience multiple issues.
     *
     * @see HdmiControlManager#setSoundbarMode(int)
     */
    public static final String CEC_SETTING_NAME_SOUNDBAR_MODE = "soundbar_mode";
    /**
     * Soundbar mode feature enabled.
     */
    public static final int SOUNDBAR_MODE_ENABLED = 1;
    /**
     * Soundbar mode feature disabled.
     */
    public static final int SOUNDBAR_MODE_DISABLED = 0;

   /**
     * Set the status of Soundbar mode feature.
     *
     * <p>This allows to enable/disable Soundbar mode on the playback device.
     * The setting's effect will be available on devices where the hardware supports this feature.
     * If enabled, an audio system local device will be allocated and try to establish an ARC
     * connection with the TV. If disabled, the ARC connection will be terminated and the audio
     * system local device will be removed from the network.
     */
    public void setSoundbarMode(@SoundbarMode int value) {
    }

    /**
     * Get the current status of Soundbar mode feature.
     *
     * <p>Reflects whether Soundbar mode is currently enabled on the playback device.
     * If enabled, an audio system local device will be allocated and try to establish an ARC
     * connection with the TV. If disabled, the ARC connection will be terminated and the audio
     * system local device will be removed from the network.
     */
    public int getSoundbarMode() {}

יישום OEM

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

הטמעת מכשיר

כדי לתמוך בתכונת סרגל הקול במכשיר:

  1. העלה את מכשיר ההשמעה ב-Android 14.
  2. הטמע את יציאת HDMI ARC במנהל ההתקן.
  3. השאר את ערכי ה-RRO של config_cecSoundbarModeEnabled_default ו- config_cecSoundbarModeDisabled_default ללא שינוי ב- config.xml כך שהתכונה תישאר מושבתת כברירת מחדל.

  4. ודא שהמכשיר כולל רמקולים מובנים או מחוברים להפעלת האודיו, וערוך את תצורת מדיניות האודיו .

  5. הגדר את מאפיין המערכת persist.sys.hdmi.property_arc_support ל- true , כדי לציין ש-ARC נתמך.

  6. חשוף את ההגדרה כדי להחליף את מצב סרגל הקול בממשק המשתמש של המערכת .

לצורך איתור באגים, השתמש בפקודה הבאה adb כדי להפעיל או לכבות את תכונת סרגל הקול ( 1 עבור מופעל ו 0 עבור כבוי):

adb shell cmd hdmi_control cec_setting set soundbar_mode <1/0>

יישום SysUI

סעיף זה מתאר זרימת ממשק משתמש מדומה ומומלצת להפעלה וכיבוי של DSM. הגדרת פלט האודיו נמצאת בתפריט תצוגה וקול , כפי שמוצג באיור 1:

dsm_audio_output

איור 1. הגדרת פלט אודיו תחת תפריט תצוגה וקול .

כדי ש-DSM יפעל, יש להפעיל את ההגדרה Enable HDMI-CEC . ניתן להפעיל את הגדרת ARC רק אם HDMI-CEC מופעל. הגדרת ה- ARC היא אפורה ומושבתת אם HDMI-CEC מושבת כמתואר באיור 2. בזרימת ממשק המשתמש הבאה, כאשר המשתמש מכבה את ההגדרה Enable HDMI-CEC בתפריט Display & Sound ובוחר Home Speaker , ה- ARC ההגדרה מושבתת. המשתמש יכול להפעיל את הגדרת השמע בטלוויזיה על ידי הפעלת הפעל HDMI-CEC .

dsm_ui_disable_arc

איור 2. ממשק משתמש עבור אפשרות ARC מושבתת.

כאשר הגדרת HDMI-CEC מופעלת, המשתמש יכול להשתמש בהגדרת ARC תחת פלט שמע כדי להפעיל ולכבות את DSM. כדי להפעיל את DSM, המשתמש עוקב אחר זרימת ממשק המשתמש באיור 3. בזרימת ממשק המשתמש הבאה, כדי לאפשר מצב סרגל קול, המשתמש בוחר ב- Home Speaker , בוחר ומאשר את הגדרת ה- ARC . כדי לכבות את DSM, המשתמש מכבה את הגדרת ARC .

dsm_ui_enable_arc

איור 3. ממשק משתמש להפעלת DSM.

מַתַן תוֹקֵף

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

אימות ידני

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

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

אימות CTS

CtsHdmiCecHostTestCases נדרשים לעבור כאשר הגדרת סרגל הקול מושבתת. מבחן HdmiCecSoundbarModeTest.java בחבילת הבדיקות CtsHdmiCecHostTestCases , בודק את פונקציונליות ה-DSM.

למרות שאינה דרישת הסמכה, הפעל את CtsHdmiCecHostTestCases עם הגדרת סרגל הקול מופעלת כדי לאמת את היישום שלך.

ראה בדיקת CEC CTS עבור מכשירי Android TV כדי להפעיל את מבחני Android CTS עבור HDMI CEC.