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

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

ตั้งค่าสถานะ วัตถุประสงค์
audioUseDynamicRouting กำหนดไว้ในไฟล์การกำหนดค่าบริการในรถยนต์เพื่อ เปิดใช้การกำหนดเส้นทาง AAOS ต้องตั้งค่าเป็น true เมื่อปิดใช้false การกำหนดเส้นทางและCarAudioServiceส่วนใหญ่ และระบบปฏิบัติการ จะกลับไปใช้ลักษณะการทำงานเริ่มต้นที่อธิบายไว้ใน การกำหนดค่านโยบายเสียง
useCoreAudioRouting กำหนดไว้ในไฟล์การกำหนดค่าบริการในรถยนต์เพื่อ เปิดใช้การจัดการการกำหนดเส้นทางเสียงหลักของ AAOS เมื่อตั้งค่าเป็น true บริการเสียงในรถยนต์จะใช้ คำจำกัดความการกำหนดค่าที่ตั้งค่าด้วย เครื่องมือการกำหนดค่านโยบายเสียง หากตั้งค่าเป็น false การจัดการการกำหนดเส้นทางจะกลับไปใช้คำจำกัดความการผสมนโยบายเสียงแบบไดนามิกของบริการเสียงในรถยนต์ตามที่กำหนดค่าโดยใช้ audioUseDynamicRouting
useCoreAudioVolume กำหนดไว้ในไฟล์การกำหนดค่าบริการในรถยนต์เพื่อ เปิดใช้การจัดการระดับเสียงหลักของ AAOS เมื่อตั้งค่าเป็น true บริการเสียงในรถจะใช้ คำจำกัดความของกลุ่มระดับเสียงที่ตั้งค่าด้วย เครื่องมือการกำหนดค่าเสียง หากตั้งค่าเป็น false การจัดการระดับเสียงจะกลับไปใช้คำจำกัดความกลุ่มระดับเสียงเริ่มต้นของบริการเสียงในรถยนต์ตามที่กำหนดค่าไว้โดยใช้ audioUseDynamicRouting
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 มีบริบทเสียงทั้งหมดตามลำดับต่อไปนี้

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

config_useFixedVolume กำหนดไว้ใน frameworks/base/core/res/res/values/config.xml ต้องตั้งค่าเป็น true เพื่ออนุญาตให้บริการเสียงในรถจัดการ การควบคุมระดับเสียง เมื่อไม่ได้ตั้งค่าconfig_useFixedVolume หรือตั้งค่าเป็น false (ค่าเริ่มต้น) แอปจะเรียกใช้ AudioManager API การจัดการระดับเสียงและเปลี่ยนระดับเสียงตาม ประเภทสตรีมในมิกเซอร์ซอฟต์แวร์ได้ ซึ่งอาจไม่เป็นที่ต้องการเนื่องจาก อาจส่งผลต่อแอปอื่นๆ และการลดทอนระดับเสียงใน มิกเซอร์ซอฟต์แวร์อาจส่งผลให้มีบิตสำคัญน้อยลงใน สัญญาณเมื่อได้รับที่เครื่องขยายเสียงฮาร์ดแวร์ อุปกรณ์ใหม่ที่ยังไม่ได้ กำหนดค่าและตั้งค่าให้trueรับการเปลี่ยนแปลงระดับเสียง ผ่าน AudioManagerAPI ระดับเสียงและการปิดเสียง
config_handleVolumeKeysInWindowManager กำหนดไว้ใน frameworks/base/core/res/res/values/config.xml ต้อง ตั้งค่าเป็น true เพื่ออนุญาตให้บริการเสียงในรถสกัดกั้น เหตุการณ์สำคัญของปุ่มปรับระดับเสียง หากตั้งค่าเป็น false (ค่าเริ่มต้น) ระบบจะส่งต่อเหตุการณ์สำคัญของปุ่มปรับระดับเสียงไปยังแอปที่อยู่เบื้องหน้าได้ ซึ่งอาจส่งผลเสียจากการจัดการเหตุการณ์สำคัญของปุ่มปรับระดับเสียงภายนอกบริการเสียงในรถ
audioUseMinMaxActivationVolume กำหนดไว้ในไฟล์การกำหนดค่าบริการในรถยนต์เพื่อเปิดใช้ ระดับเสียงเปิดใช้งานขั้นต่ำและสูงสุด เมื่อ true คุณจะปรับดัชนีการเพิ่มระดับเสียงได้เนื่องจาก การจัดการระดับเสียงการเปิดใช้งานขั้นต่ำและสูงสุด เมื่อ false (ค่าเริ่มต้น) ปริมาณการเปิดใช้งานขั้นต่ำและสูงสุดจะไม่มีผล
audioUseFadeManagerConfiguration กำหนดไว้ในไฟล์การกำหนดค่าบริการในรถยนต์เพื่อเปิดใช้ ลักษณะการทำงานเมื่อสูญเสียโฟกัสเสียงที่ระบบบังคับใช้ เมื่อ true, เฟรมเวิร์กเสียงในรถยนต์จะแยกวิเคราะห์คำจำกัดความของการกำหนดค่าการเฟดเสียงในรถยนต์และ ใช้ FadeManagerConfiguration ที่เกี่ยวข้องเมื่อส่ง การสูญเสียโฟกัสเสียง เมื่อ 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 config ใน 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