3. 车载音频路由核心概念:音频设备、音频策略、音频区域、音频上下文

在 AAOS 系统中,音频路由并非简单的“播放→输出”直连,而是由四个核心概念共同构成的策略驱动型框架。理解 音频设备 (Device)、音频策略 (AudioPolicy)、音频区域 (AudioZone) 和 音频上下文 (AudioContext) 之间的关系,是掌握车载音频路由设计的基石。

核心认知: 这四个概念分别回答了“从哪出”、“怎么走”、“在哪用”、“干什么用”四个关键问题。它们共同构成了 AAOS 音频路由的决策闭环。

3.1 音频设备 (Audio Device)

音频设备是音频数据流的物理或逻辑端点。在车载环境中,设备不仅包括扬声器和麦克风,还涵盖了蓝牙 SCO、A2DP 等逻辑通道。

设备类型 AAOS 标识 典型用途 路由方向
内置扬声器 DEVICE_OUT_SPEAKER 媒体播放、系统提示音 输出 (Output)
蓝牙 A2DP 扬声器 DEVICE_OUT_BLUETOOTH_A2DP 无线音乐播放 输出 (Output)
蓝牙 SCO DEVICE_OUT_BLUETOOTH_SCO 蓝牙电话通话音频 输出 (Output)
车载麦克风 DEVICE_IN_BUILTIN_MIC 语音识别、车内通话拾音 输入 (Input)
蓝牙 SCO 麦克风 DEVICE_IN_BLUETOOTH_SCO_HEADSET 蓝牙电话上行语音 输入 (Input)
关键点: 在车载场景下,一个物理扬声器可能对应多个逻辑设备(如媒体设备、导航设备),通过 AudioPolicy 进行混音和路由控制。

3.2 音频策略 (AudioPolicy)

音频策略是 AAOS 音频路由的“交通规则”。它定义了当多个音频流同时存在时,系统如何决定哪个音频流被听到、哪个被衰减或静音。策略的核心是 优先级 和 焦点 (AudioFocus) 管理。

  • 固定优先级策略: 导航 > 电话 > 媒体 > 系统音。高优先级音频可以“闪避” (Ducking) 低优先级音频。
  • 动态策略: 基于音频上下文(如车辆行驶状态、用户交互)动态调整路由目标。
  • 混音策略: 允许特定音频流(如导航提示音)与媒体流同时播放,仅降低媒体音量。
// AudioPolicy 配置片段 (audio_policy_configuration.xml)
<audioPolicyConfiguration version="1.0">
    <globalConfiguration speaker_drc_enabled="true"/>
    <modules>
        <module name="primary" halVersion="3.0">
            <attachedDevices>
                <item>DEVICE_OUT_SPEAKER</item>
                <item>DEVICE_OUT_BLUETOOTH_A2DP</item>
            </attachedDevices>
            <defaultOutputDevice>DEVICE_OUT_SPEAKER</defaultOutputDevice>
            <mixPorts>
                <mixPort name="primary output" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </mixPort>
            </mixPorts>
            <routes>
                <route type="mix" sink="primary output"
                       sources="DEVICE_OUT_SPEAKER,DEVICE_OUT_BLUETOOTH_A2DP"/>
            </routes>
        </module>
    </modules>
</audioPolicyConfiguration>

3.3 音频区域 (AudioZone)

音频区域是 AAOS 针对多座舱场景引入的核心抽象。它将车辆座舱划分为独立的音频空间,每个区域拥有独立的音频路由策略和设备列表。例如:前排播放媒体,后排观看视频,互不干扰。

区域 ID 物理位置 关联设备 典型用途
Zone 0 全车 所有扬声器 紧急广播、全车通话
Zone 1 前排 左前、右前扬声器 驾驶员导航、媒体
Zone 2 后排 左后、右后扬声器 后排娱乐系统
Zone 3 副驾 右前扬声器 + 耳机 副驾独立媒体
注意: 音频区域的划分必须与硬件拓扑匹配。如果硬件仅支持一路 I2S 输出,则无法实现真正的独立区域路由,只能通过软件混音实现“伪区域”。

3.4 音频上下文 (AudioContext)

音频上下文是 AAOS 8.0+ 引入的元数据标签,用于描述音频流的使用场景。它比传统的 AudioAttributes 更精细,能够携带车辆状态信息,帮助 AudioPolicy 做出更智能的路由决策。

  • 系统上下文: 如 AUDIO_CONTEXT_SYSTEM_SOUND(按键音、警告音)。
  • 媒体上下文: 如 AUDIO_CONTEXT_MUSIC、AUDIO_CONTEXT_PODCAST。
  • 通信上下文: 如 AUDIO_CONTEXT_VOICE_COMMUNICATION(蓝牙电话)、AUDIO_CONTEXT_VOICE_RECOGNITION。
  • 导航上下文: 如 AUDIO_CONTEXT_NAVIGATION。
  • 车辆上下文: 如 AUDIO_CONTEXT_VEHICLE_ALERT(ADAS 警告、倒车雷达)。
实践价值: 通过音频上下文,系统可以区分“导航语音”和“媒体音乐”,即使两者使用相同的 AudioAttributes,也能实现不同的闪避策略。例如:导航播报时,媒体音量降低 50%,而电话来电时,媒体完全静音。

3.5 四者关系:路由决策流程

下图展示了音频路由从请求产生到最终输出的完整决策链路,清晰呈现了四个核心概念的协作关系。

AAOS 音频路由决策流程 AAOS 音频路由决策流程 音频请求 音频上下文 音频策略 (AudioPolicy) 音频区域 (Zone) 音频设备 (Device) 最终音频输出 说明:上下文标签驱动策略选择,策略决定路由到哪个区域,区域最终映射到具体设备

3.6 概念对比与总结

概念 核心职责 配置位置 典型问题
音频设备 定义物理/逻辑端点 audio_policy_configuration.xml 设备未枚举、路由不可达
音频策略 定义路由规则与优先级 AudioPolicy 实现类 闪避不生效、焦点冲突
音频区域 划分独立音频空间 car_audio_configuration.xml 区域间串扰、设备归属错误
音频上下文 携带场景元数据 应用层 AudioAttributes 上下文标签缺失、策略无法匹配
总结: 在 AAOS 车载音频架构中,音频上下文 是输入信号,音频策略 是决策引擎,音频区域 是空间隔离层,音频设备 是最终执行单元。四者缺一不可,共同构建了灵活、可扩展的车载音频路由体系。