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 を使用してカーオーディオ設定の値を変更します。たとえば、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