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:
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à
|
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 audioUseCarVolumeGroupMuting là true , đ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:
Giá trị mặc định là | |
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:
Giá trị mặc định là | |
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