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 OEM สามารถเลือกใช้บริการนี้เพื่อปรับแต่งการดำเนินการให้บริการรถยนต์สำหรับนโยบายต่างๆ หาก OEM เลือกใช้ส่วนประกอบนี้ พวกเขาจะต้องใช้บริการเพื่อขยาย OemCarService ที่ car-lib เปิดเผย จากนั้นจึงใช้บริการส่วนประกอบที่จำเป็น สำหรับบริการเครื่องเสียงรถยนต์โดยเฉพาะ OEM สามารถใช้บริการย่อยด้านเสียงเพื่อจัดการการทำงานของเสียงได้ สำหรับรายละเอียด โปรดดู บริการปลั๊กอินเครื่องเสียงรถยนต์ หากชื่อส่วนประกอบไม่ถูกต้อง CarService จะไม่เชื่อมต่อกับบริการ OEM ใด ๆ ชื่อส่วนประกอบต้องไม่ใช่แพ็คเกจของบุคคลที่สาม จะต้องติดตั้งไว้ล่วงหน้า | audioVolumeAdjustmentContextsVersion | กำหนดไว้ในไฟล์กำหนดค่าบริการรถยนต์ การกำหนดค่าเพื่อเลือกเวอร์ชันของรายการลำดับความสำคัญบริบทการปรับระดับเสียง เวอร์ชัน 1 มีบริบทเสียงทั้งหมด ตามลำดับนี้:
เวอร์ชัน 2 จำกัดเฉพาะบริบทต่อไปนี้ ตามลำดับนี้ เวอร์ชันเริ่มต้นคือ
|
audioPersistMasterMuteState | กำหนดไว้ในไฟล์กำหนดค่าบริการรถยนต์ การกำหนดค่าเพื่อคงสถานะปิดเสียงส่วนกลาง เมื่อ true (ค่าเริ่มต้น) Android จะคืนค่าสถานะปิดเสียงส่วนกลางขณะบูต เมื่อ audioUseCarVolumeGroupMuting เป็น true สิ่งนี้จะไม่มีผลกระทบต่อการเปลี่ยนแปลงการปิดเสียงที่มีอยู่ เนื่องจากการเปลี่ยนแปลงการปิดเสียงจะขึ้นอยู่กับกลุ่มวอลุ่มแต่ละกลุ่ม ค่าเริ่มต้นถูกตั้งค่าเป็น true และจะต้องถูกเขียนทับเมื่อไม่ควรคงการปิดเสียงหลักไว้สำหรับอุปกรณ์ | |
audioVolumeKeyEventTimeoutMs | กำหนดไว้ในไฟล์กำหนดค่าบริการรถยนต์ การกำหนดค่าเพื่อระบุการหมดเวลาเป็นมิลลิวินาที ในขณะที่กลุ่มวอลุ่มของรถยนต์ถือว่าใช้งานอยู่สำหรับการเปลี่ยนแปลงการควบคุมระดับเสียงในระหว่างเหตุการณ์ปุ่มปรับระดับเสียง การกำหนดค่าถูกใช้ดังนี้:
ค่าเริ่มต้นคือ | |
audioUseCarVolumeGroupEvent | กำหนดไว้ในไฟล์กำหนดค่าบริการรถยนต์ การกำหนดค่าเพื่อเปิดใช้งานเหตุการณ์การติดต่อกลับไปยังกลุ่มวอลุ่ม เมื่อ true ไคลเอนต์จะได้รับการโทรกลับผ่าน ICarVolumeGroupEvent ไปยังเหตุการณ์ที่ส่งผลกระทบต่อกลุ่มวอลุ่ม เมื่อเปิดใช้งาน:
ค่าเริ่มต้นคือ | |
config_useFixedVolume | กำหนดใน frameworks/base/core/res/res/values/config.xml ต้องตั้งค่าเป็น true เพื่อให้บริการเครื่องเสียงรถยนต์สามารถจัดการการควบคุมระดับเสียงได้ เมื่อไม่ได้ตั้งค่าแฟล็ก config_useFixedVolume หรือตั้งค่าเป็น false (ค่าเริ่มต้น) แอพจะสามารถเรียกใช้ API การจัดการโวลุ่ม AudioManager และเปลี่ยนระดับเสียงตามประเภทสตรีมในมิกเซอร์ซอฟต์แวร์ สิ่งนี้อาจไม่พึงปรารถนาเนื่องจากอาจมีผลกระทบต่อแอปอื่นๆ และความจริงที่ว่าการลดระดับเสียงในตัวผสมซอฟต์แวร์อาจส่งผลให้บิตที่มีนัยสำคัญน้อยลงในสัญญาณเมื่อได้รับที่แอมพลิฟายเออร์ฮาร์ดแวร์ อุปกรณ์ใหม่ที่ยังไม่ได้กำหนดค่าและตั้งค่าเป็น 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
AAOS รองรับ การซ้อนทับทรัพยากรรันไทม์ ตั้งแต่ Android 13 ใช้ 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>
รายการซ้อนทับทรัพยากรที่กำหนดไว้ใน 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