Android Automotive OS(AAOS)는 플래그와 구성을 사용하여 동적 라우팅부터 더 일반적인 기능 플래그(예: 자동차 서비스의 볼륨 제어)에 이르기까지 다양한 기능을 사용 설정합니다. 오디오 관리에 관한 현재 AAOS 구성 플래그는 아래에 설명되어 있습니다.
플래그 | 목적 | |
---|---|---|
audioUseDynamicRouting |
자동차 서비스 구성 파일에 정의되고 AAOS 라우팅을 사용 설정합니다.
구성은 true 로 설정되어야 합니다. false 이면 라우팅과 대부분의 CarAudioService 가 사용 중지되고 OS는 오디오 정책 구성에 설명된 기본 동작으로 대체됩니다.
|
|
audioUseCarVolumeGroupMuting
| 자동차 서비스 구성 파일에 정의되고 개별 볼륨 그룹의 음소거를 사용 설정합니다. false (기본값)로 설정되면 개별 볼륨 그룹의 음소거가 사용 중지됩니다. 대신 음소거가 마스터 음소거를 전환합니다.
true 로 설정되면 자동차 볼륨 그룹 음소거가 사용 설정되고 개별 볼륨 그룹을 별도로 음소거할 수 있습니다. true 이면 볼륨 그룹 음소거는 오디오 제어 HAL에서 구현되어야 합니다.
| |
audioUseHalDuckingSignals |
자동차 서비스 구성 파일에 정의되고 IAudioControl#onDevicesToDuckChange API를 사용 설정하여 HAL에 볼륨을 낮출 때를 알립니다. true (기본값)이면 API는 볼륨을 낮출 출력 장치와 포커스를 보유한 용도를 나타내는 신호를 수신합니다. false 이면 API는 호출되지 않습니다. 오디오 제어 HAL이 볼륨 낮추기를 구현하지 않는 한 API는 호출되지 않습니다.
|
|
config_oemCarService |
자동차 서비스 구성 파일에 정의되며 OEM 맞춤설정 서비스의 구성요소 이름입니다. OEM은 이 서비스를 구현하도록 선택하여 다양한 정책에 맞게 자동차 서비스 작업을 맞춤설정할 수 있습니다. OEM에서 이 구성요소 구현을 선택하는 경우 car-lib에서 노출된 OemCarService 를 확장하는 서비스를 구현한 후 필요한 구성요소 서비스를 구현해야 합니다. 특히 자동차 오디오 서비스의 경우 OEM은 오디오 하위 서비스를 구현하여 오디오 작업을 관리할 수 있습니다. 자세한 내용은 자동차 오디오 플러그인 서비스를 참고하세요.
구성요소 이름이 잘못된 경우 CarService 는 OEM 서비스에 연결되지 않습니다. 구성요소 이름은 서드 파티 패키지일 수 없으며 사전 설치되어야 합니다. |
|
audioVolumeAdjustmentContextsVersion |
자동차 서비스 구성 파일에 정의되며 볼륨 조정 컨텍스트 우선순위 목록의 버전을 선택하는 구성입니다. 버전 1에는 모든 오디오 컨텍스트가 다음 순서로 포함됩니다.
버전 2는 다음 컨텍스트로 제한되며 순서는 다음과 같습니다. 기본 버전은
|
|
audioPersistMasterMuteState |
자동차 서비스 구성 파일에 정의되며 전역 음소거 상태를 유지하는 구성입니다. true (기본값)인 경우 Android는 부팅 시 전역 음소거 상태를 복원합니다. audioUseCarVolumeGroupMuting 이 true 이면 음소거 변경사항 유지에 영향을 미치지 않습니다. 음소거 변경사항이 개별 볼륨 그룹에 기반하기 때문입니다. 기본값은 true 로 설정되며 마스터 음소거가 기기에 유지되지 않아야 하는 경우 덮어써야 합니다. |
|
audioVolumeKeyEventTimeoutMs |
자동차 서비스 구성 파일에 정의되며 볼륨 키 이벤트 중에 볼륨 제어 변경사항을 위해 자동차 볼륨 그룹이 활성 상태로 간주되는 동안 시간 제한(밀리초)을 나타내는 구성입니다. 이 구성은 다음과 같이 사용됩니다.
기본값은 |
|
audioUseCarVolumeGroupEvent |
자동차 서비스 구성 파일에 정의되며 볼륨 그룹에 대한 콜백 이벤트를 사용 설정하는 구성입니다. true 인 경우 클라이언트는 볼륨 그룹에 영향을 미치는 이벤트에 대한 콜백을 ICarVolumeGroupEvent 를 통해 수신합니다. 사용 설정한 경우:
기본값은 |
|
config_useFixedVolume
| frameworks/base/core/res/res/values/config.xml 에 정의됩니다.
true 로 설정하여 자동차 오디오 서비스가 볼륨 제어를 관리할 수 있도록 해야 합니다. config_useFixedVolume 플래그가 설정되지 않거나 false (기본값)로 설정되면 앱은 AudioManager 볼륨 관리 API를 호출하고 소프트웨어 믹서에서 스트림 유형별로 볼륨을 변경할 수 있습니다. 이는 다른 앱에 잠재적인 영향을 미치고, 소프트웨어 믹서의 볼륨 감쇠로 인해 하드웨어 앰프에서 수신 시 신호에서 사용 가능한 중요 비트 수가 적어지기 때문에 바람직하지 않습니다. 구성되지 않았거나 true 로 설정된 새 기기는 AudioManager 볼륨 및 음소거 API를 통해 볼륨 변경사항을 수신합니다.
|
|
config_handleVolumeKeysInWindowManager |
frameworks/base/core/res/res/values/config.xml 에 정의되며 true 로 설정하여 자동차 오디오 서비스가 볼륨 키 이벤트를 가로채도록 허용해야 합니다. 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를 사용하여 자동차 오디오 구성 값을 변경하세요. 예를 들어 device/google/cuttlefish/shared/auto/rro_overlay/
에서 자동차 cuttlefish
참조의 RRO를 확인하세요. audioUseDynamicRouting
구성은 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>
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
에 정의된 리소스 오버레이 매니페스트에는 com.android.car.updatable
로 설정된 targetPackage
가 포함되어 있습니다.
자세한 내용은 다음 리소스를 참고하세요.
기능 지원 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