Cờ AAOS cấu hình âm thanh, Cờ AAOS cấu hình âm thanh

Android Automotive OS (AAOS) sử dụng cờ và cấu hình để kích hoạt nhiều tính năng khác nhau, bắt đầu bằng tính năng định tuyến động đến các cờ tính năng chung hơn, chẳng hạn như điều khiển âm lượng từ dịch vụ ô tô. Cờ cấu hình AAOS hiện tại để quản lý âm thanh được mô tả ở đây.

Lá cờ Mục đích
audioUseDynamicRouting Được xác định trong tệp cấu hình dịch vụ ô tô để Bật định tuyến AAOS . Cấu hình phải được đặt thành true . Khi false , định tuyến và phần lớn CarAudioService bị vô hiệu hóa và hệ điều hành quay trở lại hành vi mặc định được mô tả trong Định cấu hình chính sách âm thanh .
audioUseCarVolumeGroupMuting Được xác định trong tệp cấu hình dịch vụ ô tô để cho phép tắt tiếng các nhóm âm lượng riêng lẻ. Khi được đặt thành false (giá trị mặc định), việc tắt tiếng của từng nhóm âm lượng sẽ bị tắt. Thay vào đó, tắt tiếng sẽ tắt tiếng chủ. Khi được đặt thành true , tính năng tắt tiếng nhóm âm lượng ô tô sẽ được bật và từng nhóm âm lượng riêng lẻ có thể được tắt tiếng riêng. Khi true , việc tắt tiếng nhóm âm lượng phải được triển khai tại Audio Control HAL .
audioUseHalDuckingSignals Được xác định trong tệp cấu hình dịch vụ ô tô để kích hoạt API IAudioControl#onDevicesToDuckChange nhằm thông báo cho HAL khi nào nên giảm tốc độ. Khi true (giá trị mặc định), API sẽ nhận được tín hiệu cho biết thiết bị đầu ra nào cần tránh và mục đích sử dụng nào được chú trọng. Khi false , API không được gọi. API không được gọi trừ khi HAL kiểm soát âm thanh triển khai tính năng giảm tốc.
config_oemCarService Được xác định trong tệp cấu hình dịch vụ ô tô, đây là tên thành phần cho dịch vụ tùy chỉnh OEM. Các OEM có thể chọn triển khai dịch vụ này để tùy chỉnh các hoạt động dịch vụ ô tô cho các chính sách khác nhau. Nếu các OEM chọn triển khai thành phần này, họ phải triển khai dịch vụ để mở rộng OemCarService do car-lib cung cấp, sau đó triển khai các dịch vụ thành phần được yêu cầu. Đối với dịch vụ âm thanh ô tô cụ thể, OEM có thể triển khai bất kỳ dịch vụ phụ âm thanh nào để quản lý hoạt động âm thanh. Để biết chi tiết, hãy xem Dịch vụ Plugin âm thanh trên ô tô . Nếu tên thành phần không hợp lệ, CarService sẽ không kết nối với bất kỳ dịch vụ OEM nào. Tên thành phần không được là gói của bên thứ ba. Nó phải được cài đặt sẵn.
audioVolumeAdjustmentContextsVersion

Được xác định trong tệp cấu hình dịch vụ ô tô, cấu hình để chọn phiên bản danh sách ưu tiên ngữ cảnh điều chỉnh âm lượng.

Phiên bản 1 bao gồm tất cả các ngữ cảnh âm thanh, theo thứ tự sau:

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

Phiên bản 2 được giới hạn trong các bối cảnh sau, theo thứ tự này.

Phiên bản mặc định là 1 .

  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
audioPersistMasterMuteState Được xác định trong tệp cấu hình dịch vụ ô tô, cấu hình để duy trì trạng thái tắt tiếng toàn cầu. Khi true (giá trị mặc định), Android sẽ khôi phục trạng thái tắt tiếng chung khi khởi động. Khi audioUseCarVolumeGroupMutingtrue , điều này không có tác động đến việc duy trì các thay đổi tắt tiếng vì các thay đổi tắt tiếng dựa trên các nhóm âm lượng riêng lẻ. Giá trị mặc định được đặt thành true và phải được ghi đè khi không nên tiếp tục tắt tiếng chính cho thiết bị.
audioVolumeKeyEventTimeoutMs

Được xác định trong tệp cấu hình dịch vụ ô tô, cấu hình để cho biết thời gian chờ tính bằng mili giây trong khi nhóm âm lượng ô tô được coi là hoạt động đối với những thay đổi về điều khiển âm lượng trong các sự kiện phím âm lượng. Cấu hình được sử dụng như sau:

  • Thời gian chờ được sử dụng để xác định xem liệu một bản phát lại (âm lượng liên quan đến việc sử dụng âm thanh của bản phát lại) có còn được xem xét để chọn âm lượng tự động sau khi nó đã ngừng phát hay không.
  • Thời gian chờ cũng được sử dụng làm khoảng thời gian tạm dừng cần thiết giữa các lần điều chỉnh âm lượng tự động để thay đổi nội dung người dùng đang điều chỉnh.

Giá trị mặc định là 3000 mili giây và phải được OEM điều chỉnh để điều chỉnh trải nghiệm người dùng.

audioUseCarVolumeGroupEvent Được xác định trong tệp cấu hình dịch vụ ô tô, cấu hình để bật các sự kiện gọi lại cho các nhóm số lượng. Khi true , khách hàng sẽ nhận được lệnh gọi lại thông qua ICarVolumeGroupEvent tới các sự kiện tác động đến nhóm số lượng. Khi được kích hoạt:

  • Chúng tôi thực sự khuyên các nhà cung cấp cũng nên hỗ trợ IAudioControl#setModuleChangeCallbackIAudioControl#registerGainCallback cho các sự kiện và thay đổi đối với phần cứng âm thanh.
  • Khi cả CarVolumeCallbackCarVolumeGroupEventCallback đều được đăng ký bởi cùng một ứng dụng, lệnh gọi lại tắt tiếng nhóm âm lượng và chỉ mục nhóm âm lượng sẽ chỉ được thực hiện thông qua CarVolumeGroupEventCallback . Do đó, chúng tôi thực sự khuyên tất cả các ứng dụng nên chuyển sang giao diện gọi lại mới để đảm bảo hiệu suất ổn định.
  • Giá trị mặc định là false . Chúng tôi khuyên bạn nên đặt điều này thành true vì các API hỗ trợ lệnh gọi lại số lượng lớn cũ không còn được dùng nữa và sẽ sớm bị xóa hoàn toàn.

config_useFixedVolume Được xác định trong frameworks/base/core/res/res/values/config.xml . Phải được đặt thành true để cho phép dịch vụ âm thanh ô tô quản lý việc điều khiển âm lượng. Khi cờ config_useFixedVolume không được đặt hoặc được đặt thành false (giá trị mặc định), ứng dụng có thể gọi API quản lý âm lượng AudioManager và thay đổi âm lượng theo loại luồng trong bộ trộn phần mềm. Điều này có thể là điều không mong muốn do tác động tiềm ẩn đối với các ứng dụng khác và thực tế là sự suy giảm âm lượng trong bộ trộn phần mềm có thể dẫn đến tín hiệu có ít bit quan trọng hơn khi nhận được ở bộ khuếch đại phần cứng. Các thiết bị mới chưa được định cấu hình và được đặt thành true sẽ nhận được các thay đổi về âm lượng thông qua API âm lượng và tắt tiếng AudioManager .
config_handleVolumeKeysInWindowManager Được xác định trong frameworks/base/core/res/res/values/config.xml , phải được đặt thành true để cho phép dịch vụ âm thanh ô tô chặn các sự kiện phím âm lượng. Nếu được đặt thành false (giá trị mặc định), các sự kiện phím âm lượng có thể được chuyển tiếp đến ứng dụng trên nền trước và có thể dẫn đến kết quả bất lợi từ việc quản lý sự kiện phím âm lượng bên ngoài dịch vụ âm thanh ô tô.

Cấu hình dịch vụ âm thanh ô tô

Trước Android 13, cấu hình dịch vụ ô tô đã được ghi đè bằng lớp phủ cấu hình sản phẩm (để tìm hiểu thêm, hãy xem Tùy chỉnh bản dựng với lớp phủ tài nguyên ) cho packages/services/Car/service/res/values/config.xml .

PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>

Vị trí của tệp cấu hình từ <path_to_overlay> đến vị trí thực tế phải bao gồm packages/services/Car/service/res/values/ .

RRO dịch vụ ô tô

Kể từ Android 13, AAOS hỗ trợ lớp phủ tài nguyên Thời gian chạy . Sử dụng RRO để thay đổi giá trị của cấu hình âm thanh ô tô. Ví dụ: xem RRO để tham khảo về cuttlefish ô tô trong device/google/cuttlefish/shared/auto/rro_overlay/ . Cấu hình audioUseDynamicRouting bị ghi đè trong device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml .

<resources>
    <bool name="audioUseDynamicRouting">true</bool>
...

Bản đồ lớp phủ tài nguyên được chứa trong device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml :

<overlay>
...
  <item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>

Tệp kê khai lớp phủ tài nguyên được xác định trong device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml chứa targetPackage được đặt là com.android.car.updatable .

Xem các tài nguyên này để biết thêm thông tin:

API hỗ trợ tính năng

Phương thức trả về true nếu tính năng này được bật trên thiết bị, nếu không thì false . Trong API CarAudioManager#isAudioFeatureEnabled , tham số được truyền vào phải là một trong:

  • AUDIO_FEATURE_DYNAMIC_ROUTING
  • AUDIO_FEATURE_VOLUME_GROUP_MUTING
  • AUDIO_FEATURE_OEM_AUDIO_SERVICE
  • AUDIO_FEATURE_VOLUME_GROUP_EVENTS
  • AUDIO_FEATURE_AUDIO_MIRRORING