ระบบปฏิบัติการ Android Automotive (AAOS) ใช้ Flag และการกำหนดค่าเพื่อเปิดใช้ฟีเจอร์ต่างๆ โดยเริ่มจากการกำหนดเส้นทางแบบไดนามิกไปจนถึง Flag ฟีเจอร์ทั่วไปมากขึ้น เช่น การควบคุมระดับเสียงจากบริการของรถยนต์ ดูคำอธิบายเกี่ยวกับ Flag การกำหนดค่า AAOS ปัจจุบันสำหรับการจัดการเสียงได้ที่นี่
ตั้งค่าสถานะ | วัตถุประสงค์ | |
---|---|---|
audioUseDynamicRouting |
กำหนดไว้ในไฟล์การกําหนดค่าบริการรถยนต์เพื่อเปิดใช้การกำหนดเส้นทาง AAOS
ต้องตั้งค่าการกําหนดค่าเป็น true เมื่อ false ระบบจะปิดใช้การกำหนดเส้นทางและ CarAudioService ส่วนใหญ่ และระบบปฏิบัติการจะกลับไปใช้ลักษณะการทำงานเริ่มต้นตามที่อธิบายไว้ในการกำหนดค่านโยบายเสียง
|
|
audioUseCarVolumeGroupMuting
| กำหนดไว้ในไฟล์การกําหนดค่าบริการรถยนต์เพื่อเปิดใช้การปิดเสียงของกลุ่มระดับเสียงแต่ละกลุ่ม เมื่อตั้งค่าเป็น false (ค่าเริ่มต้น) ระบบจะปิดใช้การปิดเสียงของกลุ่มระดับเสียงแต่ละกลุ่ม แต่จะเป็นการสลับการปิดเสียงหลักแทน
เมื่อตั้งค่าเป็น true ระบบจะเปิดใช้การปิดเสียงกลุ่มระดับเสียงของรถ และปิดเสียงแต่ละกลุ่มแยกกันได้ เมื่อ true ต้องใช้การปิดเสียงกลุ่มระดับเสียงที่ 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 เพื่ออนุญาตให้บริการเสียงของรถยนต์จัดการการควบคุมระดับเสียง เมื่อไม่ได้ตั้งค่า Flag config_useFixedVolume หรือตั้งค่าเป็น false (ค่าเริ่มต้น) แอปจะเรียกใช้ AudioManager Volume Management API และเปลี่ยนระดับเสียงตามประเภทสตรีมในโปรแกรมผสมเสียงซอฟต์แวร์ได้ ซึ่งอาจไม่เหมาะสมเนื่องจากอาจส่งผลต่อแอปอื่นๆ และข้อเท็จจริงที่ว่าการตัดระดับเสียงในมิกเซอร์ซอฟต์แวร์อาจส่งผลให้สัญญาณมีบิตที่มีนัยสำคัญน้อยลงเมื่อรับสัญญาณที่เครื่องขยายเสียงฮาร์ดแวร์ อุปกรณ์ใหม่ที่ไม่ได้กําหนดค่าไว้และตั้งค่าให้ true รับการเปลี่ยนแปลงระดับเสียงผ่าน API ระดับเสียงและปิดเสียง AudioManager
|
|
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