Flag AAOS การกำหนดค่าเสียง

Android Automotive OS (AAOS) ใช้แฟล็กและการกำหนดค่าเพื่อเปิดใช้ ฟีเจอร์อื่น ๆ เริ่มต้นจากการกำหนดเส้นทางแบบไดนามิกไปยัง Flag ฟีเจอร์ทั่วไปมากขึ้น เช่น ตัวควบคุมระดับเสียงจากบริการรถยนต์ แฟล็กการกำหนดค่า AAOS ปัจจุบันสำหรับเสียง การจัดการได้อธิบายไว้ที่นี่

ตั้งค่าสถานะ วัตถุประสงค์
audioUseDynamicRouting กำหนดไว้ในไฟล์การกำหนดค่าบริการรถยนต์เป็น เปิดใช้การกำหนดเส้นทาง AAOS ต้องตั้งค่าเป็น true เมื่อ false การกำหนดเส้นทางและ CarAudioService ส่วนใหญ่ ถูกปิดใช้งาน และระบบปฏิบัติการ กลับไปใช้ลักษณะการทำงานเริ่มต้นที่อธิบายไว้ใน การกำหนดค่านโยบายเสียง
audioUseCarVolumeGroupMuting กำหนดไว้ในไฟล์การกำหนดค่าบริการรถยนต์เพื่อเปิดใช้การปิดเสียงบุคคล กลุ่มระดับเสียง เมื่อตั้งค่าเป็น false (ค่าเริ่มต้น) ปิดเสียง กลุ่มระดับเสียงแต่ละกลุ่มปิดใช้อยู่ แต่จะสลับการปิดเสียงต้นฉบับแทน เมื่อตั้งค่าเป็น true ระบบจะเปิดใช้การปิดเสียงกลุ่มระดับเสียงรถยนต์ และแต่ละรายการ กลุ่มระดับเสียงแต่ละกลุ่มสามารถปิดเสียงแยกกันได้ เมื่อ true ต้องปิดเสียงกลุ่มวอลุ่ม HAL การควบคุมเสียง
audioUseHalDuckingSignals ระบุไว้ในไฟล์การกำหนดค่าบริการรถยนต์เพื่อเปิดใช้ IAudioControl#onDevicesToDuckChange API เพื่อแจ้ง HAL ว่าเมื่อใด เป็ด เมื่อ true (ค่าเริ่มต้น) API จะได้รับสัญญาณที่บ่งชี้ว่า ส่งออกอุปกรณ์ไปยัง Duck และลักษณะการใช้งานที่โฟกัสได้ เมื่อ false จะไม่มีการเรียก API จะไม่มีการเรียก API เว้นแต่ HAL การควบคุมเสียง ของการลดความซับซ้อน
config_oemCarService ระบุไว้ในไฟล์การกำหนดค่าบริการรถยนต์ โดยนี่คือชื่อคอมโพเนนต์สำหรับ บริการปรับแต่ง OEM OEM สามารถเลือกใช้บริการนี้เพื่อ ปรับแต่งการดำเนินการของบริการรถยนต์สำหรับนโยบายต่างๆ หาก OEM เลือกรับ ติดตั้งใช้งานคอมโพเนนต์นี้ ลูกค้าต้องติดตั้งใช้งานบริการเพื่อขยาย OemCarService เปิดเผยโดย Car-lib แล้วนำไปใช้ บริการคอมโพเนนต์ที่จำเป็น สำหรับบริการเครื่องเสียงรถยนต์โดยเฉพาะ OEM สามารถใช้บริการย่อยของเสียงเพื่อจัดการการดำเนินการของเสียงได้ สำหรับ ดูรายละเอียดได้ที่ บริการปลั๊กอินสำหรับเครื่องเสียงติดรถยนต์ หากชื่อคอมโพเนนต์ไม่ถูกต้อง CarService จะไม่เชื่อมต่อ บริการ OEM ใดก็ได้ ชื่อคอมโพเนนต์ต้องไม่ใช่แพ็กเกจของบุคคลที่สาม ทั้งนี้ จะต้องติดตั้งไว้ล่วงหน้า
audioVolumeAdjustmentContextsVersion

ระบุไว้ในไฟล์การกำหนดค่าบริการรถยนต์ การกำหนดค่าเพื่อเลือก เวอร์ชันรายการลำดับความสำคัญของบริบทการปรับระดับเสียง

เวอร์ชัน 1 มีบริบทเสียงทั้งหมดตามลำดับต่อไปนี้

  • NAVIGATION
  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
  • CALL_RING
  • SYSTEM_SOUND
  • SAFETY
  • ALARM
  • NOTIFICATION
  • VEHICLE_STATUSEMERGENCY

เวอร์ชัน 2 จะถูกจำกัดไว้เฉพาะบริบทต่อไปนี้ตามลำดับนี้

เวอร์ชันเริ่มต้นคือ 1

  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
audioPersistMasterMuteState ระบุไว้ในไฟล์การกำหนดค่าบริการรถยนต์ การกำหนดค่าให้คงการทำงานส่วนกลางไว้ สถานะปิดเสียง เมื่อ true (ค่าเริ่มต้น) Android คืนค่า สถานะปิดเสียงส่วนกลางเมื่อเปิดเครื่อง เมื่อaudioUseCarVolumeGroupMutingคือ true การดำเนินการนี้จะไม่มีผลต่อการเก็บการเปลี่ยนแปลงการปิดเสียงไว้เป็นแบบปิดเสียง การเปลี่ยนแปลงจะขึ้นอยู่กับกลุ่มวอลุ่มแต่ละกลุ่ม ค่าเริ่มต้นจะตั้งไว้ที่ true และต้องมีการเขียนทับเมื่อไม่ควรปิดเสียงต้นฉบับ ยังคงอยู่ในอุปกรณ์หนึ่ง
audioVolumeKeyEventTimeoutMs

ที่กำหนดไว้ในไฟล์การกำหนดค่าบริการรถยนต์ การกำหนดค่าเพื่อระบุ ระยะหมดเวลาเป็นมิลลิวินาทีในขณะที่ถือว่ากลุ่มระดับเสียงของรถยนต์ทำงานอยู่เป็นเวลา การควบคุมระดับเสียงเปลี่ยนแปลงระหว่างเหตุการณ์สําคัญของระดับเสียง ใช้การกำหนดค่าแล้ว ดังนี้

  • ระบบจะใช้ระยะหมดเวลาเพื่อพิจารณาว่าการเล่น (เชื่อมโยงระดับเสียงเสียง) หรือไม่ กับการใช้เสียงในการเล่น) ก็ยังถือว่าเป็นแบบอัตโนมัติได้ การเลือกระดับเสียงหลังจากที่หยุดเล่นไปแล้ว
  • ระบบจะใช้ระยะหมดเวลาเป็นระยะเวลาหยุดชั่วคราวที่จำเป็นระหว่างระยะเวลาอัตโนมัติด้วย การปรับระดับเสียงเพื่อเปลี่ยนสิ่งที่ผู้ใช้กำลังปรับ

ค่าเริ่มต้นคือ 3000 มิลลิวินาทีและควรเป็น ปรับโดย OEM เพื่อปรับประสบการณ์ของผู้ใช้

audioUseCarVolumeGroupEvent ระบุไว้ในไฟล์การกำหนดค่าบริการรถยนต์ การกำหนดค่าเพื่อเปิดใช้ Callback เหตุการณ์สำหรับกลุ่มวอลุ่ม เมื่อ true ลูกค้าจะได้รับการติดต่อกลับ จนถึง ICarVolumeGroupEvent สำหรับเหตุการณ์ที่ส่งผลต่อปริมาณ กลุ่ม เมื่อเปิดใช้

  • เราขอแนะนำให้ผู้ให้บริการ IAudioControl#setModuleChangeCallback และ IAudioControl#registerGainCallbackสำหรับกิจกรรมและการเปลี่ยนแปลง ฮาร์ดแวร์เสียง
  • เมื่อทั้ง CarVolumeCallback และ CarVolumeGroupEventCallback ได้รับการจดทะเบียนโดย จะมีการเรียกกลับสำหรับดัชนีกลุ่มระดับเสียงและตัวปิดเสียงของกลุ่มระดับเสียง ถึง CarVolumeGroupEventCallback เท่านั้น เราจึงขอแนะนำเป็นอย่างยิ่งให้ย้ายข้อมูลแอปทั้งหมดไปยังเวอร์ชันใหม่ Callback เพื่อประสิทธิภาพที่สม่ำเสมอ
  • ค่าเริ่มต้นคือ false เราขอแนะนำให้คุณตั้งค่าตัวเลือกนี้ เป็น true เนื่องจาก API สำหรับรองรับวอลุ่มแบบเดิม เลิกใช้งาน Callback แล้วและจะถูกนำออกในเร็วๆ นี้

config_useFixedVolume กำหนดไว้ใน frameworks/base/core/res/res/values/config.xml ต้องตั้งค่าเป็น true เพื่ออนุญาตให้บริการเสียงรถยนต์จัดการ การควบคุมระดับเสียง เมื่อไม่ได้ตั้งค่าสถานะ config_useFixedVolume หรือตั้งค่าเป็น false (ค่าเริ่มต้น) แอปจะเรียกใช้ฟังก์ชัน AudioManager Volume Management API และเปลี่ยนระดับเสียงครั้งละ สตรีมประเภทสตรีม ในเครื่องผสมซอฟต์แวร์ วิธีนี้อาจไม่เป็นที่ต้องการเนื่องจาก ที่อาจเกิดขึ้นกับแอปอื่นๆ และข้อเท็จจริงที่ว่าการลดระดับเสียงใน โปรแกรมผสมซอฟต์แวร์อาจทำให้มีจำนวนบิตสำคัญที่ใช้ได้ใน เมื่อได้รับสัญญาณจากเครื่องขยายสัญญาณฮาร์ดแวร์ อุปกรณ์ใหม่ที่ยังไม่ได้ดำเนินการ ได้รับการกำหนดค่าและตั้งค่าเป็น true รับการเปลี่ยนแปลงปริมาณแล้ว ผ่านระดับเสียง AudioManager และปิดเสียง API
config_handleVolumeKeysInWindowManager ที่กำหนดไว้ใน frameworks/base/core/res/res/values/config.xml ต้อง ตั้งค่าเป็น true เพื่ออนุญาตให้บริการเสียงรถยนต์สกัดกั้นได้ เหตุการณ์สำคัญของระดับเสียง หากตั้งค่าเป็นระดับเสียง false (ค่าเริ่มต้น) เหตุการณ์สำคัญอาจถูกส่งต่อไปยังแอปเบื้องหน้า และอาจทำให้เกิดผลเสีย ผลลัพธ์จากการจัดการเหตุการณ์ปุ่มปรับระดับเสียงภายนอกบริการเครื่องเสียงรถยนต์

การกำหนดค่าบริการเครื่องเสียงรถยนต์

ก่อน Android 13 มีการเขียนทับการกำหนดค่าบริการรถยนต์ ที่มีการวางซ้อนการกำหนดค่าผลิตภัณฑ์ (หากต้องการดูข้อมูลเพิ่มเติม โปรดดูที่ การปรับแต่งบิลด์ด้วยการวางซ้อนทรัพยากร) สำหรับไฟล์ packages/services/Car/service/res/values/config.xml

PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>

ตำแหน่งของไฟล์การกำหนดค่าจาก <path_to_overlay> ไปยังตำแหน่งที่ตั้งจริง สถานที่ตั้งควรมี packages/services/Car/service/res/values/

RRO ของบริการรถยนต์

ตั้งแต่ Android 13 AAOS รองรับ การวางซ้อนทรัพยากรรันไทม์ ใช้ RRO เพื่อเปลี่ยน ค่าของการกำหนดค่าระบบเสียงในรถ ตัวอย่างเช่น โปรดดู RRO สำหรับ ยานยนต์ 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>

ไฟล์ Manifest ของการวางซ้อนทรัพยากรที่กำหนดไว้ใน device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml มี targetPackage ที่ตั้งค่าเป็น com.android.car.updatable

ดูข้อมูลเพิ่มเติมได้จากแหล่งข้อมูลต่อไปนี้

API ที่เปิดใช้ฟีเจอร์

เมธอดจะแสดง true หากฟีเจอร์นี้เปิดใช้ในอุปกรณ์ หรือไม่เช่นนั้น false ใน CarAudioManager#isAudioFeatureEnabled API พารามิเตอร์ ที่ส่งผ่านต้องเป็นหนึ่งใน

  • AUDIO_FEATURE_DYNAMIC_ROUTING
  • AUDIO_FEATURE_VOLUME_GROUP_MUTING
  • AUDIO_FEATURE_OEM_AUDIO_SERVICE
  • AUDIO_FEATURE_VOLUME_GROUP_EVENTS
  • AUDIO_FEATURE_AUDIO_MIRRORING