Android Automotive OS (AAOS) sử dụng cờ và cấu hình để bật nhiều tính năng, bắt đầu từ việc đị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 cờ cấu hình AAOS hiện tại để quản lý âm thanh được mô tả tại đây.
Gắn cờ | Mục đích | |
---|---|---|
audioUseDynamicRouting |
Được xác định trong tệp cấu hình dịch vụ ô tô để Bật tính năng định tuyến AAOS.
Bạn phải đặt cấu hình thành true . Khi false , định tuyến và phần lớn CarAudioService bị tắt và hệ điều hành sẽ quay lại hành vi mặc định được mô tả trong phần Đị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 tính năng tắt tiếng từng nhóm âm lượng. Khi được đặt thành false (giá trị mặc định), tính năng tắt tiếng từng nhóm âm lượng sẽ bị tắt. Thay vào đó, nút tắt tiếng sẽ bật/tắt chế độ tắt tiếng chính.
Khi được đặt thành true , tính năng tắt tiếng nhóm âm lượng trên ô tô sẽ được bật và bạn có thể tắt tiếng từng nhóm âm lượng riêng lẻ. Khi true , bạn phải triển khai tính năng tắt tiếng nhóm âm lượng tại Audio Control HAL.
| |
audioUseHalDuckingSignals |
Được xác định trong tệp cấu hình dịch vụ ô tô để cho phép API IAudioControl#onDevicesToDuckChange thông báo cho HAL thời điểm cần ẩn. 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 cần ẩn và những trường hợp sử dụng nào giữ tiêu điểm. Khi false , API sẽ không được gọi. API này sẽ không được gọi trừ phi Audio Control HAL triển khai tính năng giảm âm lượng.
|
|
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ụ tuỳ chỉnh của nhà sản xuất thiết bị gốc (OEM). Nhà sản xuất thiết bị gốc (OEM) có thể chọn triển khai dịch vụ này để tuỳ chỉnh các thao tác bảo dưỡng ô tô cho nhiều chính sách. Nếu OEM chọn triển khai thành phần này, họ phải triển khai một dịch vụ để mở rộng OemCarService do car-lib hiển thị, 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 trên ô tô, OEM có thể triển khai bất kỳ dịch vụ phụ âm thanh nào để quản lý thao tác âm thanh. Để biết thông tin chi tiết, hãy xem phần Dịch vụ trình bổ trợ â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. Bạn phải cài đặt trước ứng dụng này. |
|
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 mức độ ưu tiên theo 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:
Phiên bản 2 chỉ giới hạn ở các ngữ 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 chung. Khi true (giá trị mặc định), Android sẽ khôi phục trạng thái tắt tiếng toàn cục khi khởi động. Khi audioUseCarVolumeGroupMuting là true , điều này không ảnh hưởng đến các thay đổi liên tục về chế độ tắt tiếng vì các thay đổi về chế độ tắt tiếng dựa trên từng nhóm âm lượng. Giá trị mặc định được đặt thành true và phải được ghi đè khi không nên duy trì chế độ tắt tiếng chính 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 thời gian chờ tính bằng mili giây trong khi nhóm âm lượng ô tô được coi là đang hoạt động đối với các thay đổi về chế độ điều khiển âm lượng trong các sự kiện phím âm lượng. Cấu hình này đượ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 sự kiện gọi lại cho các nhóm âm lượng. Khi true , ứng dụng sẽ nhận được lệnh gọi lại thông qua ICarVolumeGroupEvent cho các sự kiện ảnh hưởng đến nhóm âm lượng. Khi được bậ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 trên ô tô quản lý chế độ điều khiển âm lượng. Khi bạn không đặt cờ config_useFixedVolume hoặc đặt thành false (giá trị mặc định), các ứ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ể không mong muốn do tác động tiềm ẩn đối với các ứng dụng khác và việc giảm âm lượng trong bộ trộn phần mềm có thể dẫn đến việc có ít bit có ý nghĩa hơn trong tín hiệu khi nhận được tại 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 trên ô 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 nhấ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 các kết quả bất lợi từ việc quản lý sự kiện nhấn phím âm lượng bên ngoài dịch vụ âm thanh trên ô tô. |
Cấu hình dịch vụ âm thanh trên ô 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 phần 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ế phải bao gồm packages/services/Car/service/res/values/
.
RRO dịch vụ xe hơi
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 trên ô tô. Ví dụ: hãy xem các RRO cho tham chiếu cuttlefish
trong ngành ô 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 nằm 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 trả về true
nếu tính năng được bật trên thiết bị, nếu không thì trả về false
. Trong API CarAudioManager#isAudioFeatureEnabled
, tham số được truyền vào phải là một trong những tham số sau:
AUDIO_FEATURE_DYNAMIC_ROUTING
AUDIO_FEATURE_VOLUME_GROUP_MUTING
AUDIO_FEATURE_OEM_AUDIO_SERVICE
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
AUDIO_FEATURE_AUDIO_MIRRORING