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

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

Gắn cờ Mục đích
audioUseDynamicRouting Được xác định trong tệp cấu hình dịch vụ ô tô thành Bật tính năng định tuyến AAOS. Bạn phải đặt cấu hình này thành true. Khi false, định tuyến và phần lớn CarAudioService, đều bị tắt và hệ điều hành quay 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ô để bật tiếng của từng người nhóm âm lượng. Khi đặt thành false (giá trị mặc định), tắt tiếng của nhóm âm lượng riêng lẻ đã bị tắt. Thay vào đó, tính năng tắt tiếng sẽ bật/tắt tiếng chính. Khi bạn đặt thành true, tính năng tắt tiếng nhóm âm lượng ô tô sẽ bật và mỗi có thể tắt tiếng riêng từng nhóm âm lượng. Khi true, tắt tiếng nhóm âm lượng phải được triển khai ở HAL điều khiển âm thanh.
audioUseHalDuckingSignals Được xác định trong tệp cấu hình dịch vụ ô tô để bật API IAudioControl#onDevicesToDuckChange để thông báo cho HAL (Lớp trừu tượng phần cứng) khi nào cần vịt. Khi true (giá trị mặc định), API sẽ nhận được các tín hiệu cho biết thiết bị đầu ra nào và vị trí nào được sử dụng tiêu điểm. Khi false, API không được gọi. API này không được gọi trừ phi HAL điều khiển âm thanh thực hiện giảm âm thanh.
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 của dịch vụ tuỳ chỉnh OEM. OEM có thể chọn triển khai dịch vụ này để tuỳ chỉnh các thao tác đối với dịch vụ ô tô theo các chính sách khác nhau. Nếu nhà sản xuất thiết bị gốc chọn triển khai thành phần này, chúng phải triển khai một dịch vụ để mở rộng OemCarService được hiển thị bởi car-lib, sau đó triển khai các dịch vụ thành phần bắt buộc. Riêng đối với dịch vụ âm thanh ô tô, OEM (Nhà sản xuất thiết bị gốc) có thể triển khai bất kỳ dịch vụ phụ âm thanh nào để quản lý hành động âm thanh. Cho chi tiết, xem Dịch vụ plugin âm thanh cho ô tô. Nếu tên thành phần không hợp lệ, CarService sẽ không kết nối cho 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 trước.
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 của 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ả 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 cho các ngữ 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ì ở chế độ chung trạng thái tắt tiếng. Khi true (giá trị mặc định) Android khôi phục trạng thái tắt tiếng toàn cục khi khởi động. Khi audioUseCarVolumeGroupMutingtrue, việc này không ảnh hưởng đến việc duy trì các thay đổi tắt tiếng khi tắt tiếng các thay đổi dựa trên từng nhóm khối 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 tắt tiếng chính duy trì cho một 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 tính bằng mili giây trong khi một nhóm âm lượng ô tô được coi là đang hoạt động trong chế độ điều chỉnh âm lượng sẽ thay đổi trong các sự kiện chính về âm lượng. Cấu hình này được sử dụng như sau:

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

Giá trị mặc định là 3000 mili giây và nên là đượ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 lệnh gọi lại sự kiện vào nhóm số lượng. Khi true, ứng dụng sẽ nhận được lệnh gọi lại từ ICarVolumeGroupEvent đến các sự kiện ảnh hưởng đến số lượng nhóm. Khi bật:

  • Chúng tôi đặc biệt khuyên nhà cung cấp cũng 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 được đăng ký bởi cùng một Google Play, chỉ mục nhóm âm lượng và lệnh gọi lại tắt tiếng nhóm âm lượng sẽ hoạt động chỉ thông qua CarVolumeGroupEventCallback. Do đó, tất cả các ứng dụng nên chuyển sang để đảm bảo hiệu suất nhất quán.
  • Giá trị mặc định là false. Bạn nên thiết lập chế độ cài đặt này vào true vì các API hỗ trợ ổ đĩa cũ Các lệnh gọi lại không được dùng nữa và sẽ sớm bị xoá hoàn toàn.

config_useFixedVolume Được xác định trong frameworks/base/core/res/res/values/config.xml. Bạn phải đặt thành true để cho phép quản lý dịch vụ âm thanh trên ô tô điều chỉnh âm lượng. Khi cờ config_useFixedVolume không hoặc được đặt thành false (giá trị mặc định), các ứng dụng có thể gọi AudioManager API quản lý âm lượng và thay đổi âm lượng theo loại luồng trong bộ trộn phần mềm. Đây có thể là điều không mong muốn do ảnh hưởng tiềm ẩn đến các ứng dụng khác và trên thực tế, sự suy giảm âm lượng trong trình trộn phần mềm có thể làm giảm số bit đáng kể có sẵn trong khi nhận được tại bộ khuếch đại phần cứng. Các thiết bị mới chưa có đã được định cấu hình và được đặt thành true. Nhận thay đổi về âm lượng thông qua âm lượng AudioManager và API ẩn.
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 của ô tô chặn sự kiện chính về số lượng. Nếu bạn đặt âm lượng thành false (giá trị mặc định) sự kiện chính có thể được chuyển tiếp đến ứng dụng trên nền trước và có thể dẫn đến bất lợi kết quả của việc quản lý sự kiện chính â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ụ dành cho ô tô đã bị ghi đè với lớp phủ cấu hình sản phẩm (để tìm hiểu thêm, hãy xem Tuỳ chỉnh bản dựng bằng lớp phủ tài nguyên) cho tệp 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ế vị trí 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 trong thời gian chạy. Sử dụng RRO để thay đổi giá trị của cấu hình âm thanh ô tô. Ví dụ: hãy xem RRO cho tài liệu tham khảo về cuttlefish ô tô trong device/google/cuttlefish/shared/auto/rro_overlay/. Chiến lược phát hành đĩa đơn Cấu hình audioUseDynamicRouting sẽ 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ó 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 thành com.android.car.updatable.

Hãy xem các tài nguyên sau để biết thêm thông tin:

API hỗ trợ tính năng

Phương thức này sẽ trả về true nếu tính năng này được bật trên thiết bị, nếu không false. Trong API CarAudioManager#isAudioFeatureEnabled, tham số 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