声道掩码
在 Windows 中,WAVEFORMATEXTENSIBLE 结构定义多声道 PCM 音频流的数据格式。 此结构会指定一些参数,例如每个 PCM 样本的位数、流中的声道数和声道掩码。 声道掩码指定声道到扬声器的映射。 下图显示了声道掩码中的各个位。
声道掩码中的每个位都表示特定的扬声器位置。 如果掩码将声道分配给特定扬声器位置,则表示该位置的掩码位设置为 1;未分配扬声器位置的所有掩码位都设置为 0。 WAVEFORMATEXTENSIBLE 结构定义了声道掩码中未在上图中显示的其他位,但这些位对所讨论的家庭影院扬声器配置没有影响,为简单起见而被省略。
上图中声道掩码中扬声器位置的编码类似于用于 KSPROPERTY_AUDIO_CHANNEL_CONFIG 属性请求的属性值。 有关详细信息,请参阅 KSAUDIO_CHANNEL_CONFIG。
下表显示了上图中每个掩码位的含义。
位号 | 扬声器位置 | 说明 |
---|---|---|
0 |
FL |
左前 |
1 |
FR |
右前 |
2 |
FC |
前中心 |
3 |
LFE |
低频率效果 |
4 |
BL |
左后 |
5 |
BR |
右后 |
6 |
FLC |
左前中心 |
7 |
FRC |
右前中心 |
8 |
BC |
后中心 |
9 |
SL |
左侧 |
10 |
SR |
右侧 |
例如,7.1 家庭影院扬声器配置由声道掩码值 0x63F 描述,指示流中的八个声道分配给以下扬声器位置(并按以下顺序):FL、FR、FC、LFE、BL、BR、SL 和 SR。 例如,7.1 宽配置扬声器配置由声道掩码值 0xFF 描述,指示流中的八个声道分配给以下扬声器位置:FL、FR、FC、LFE、BL、BR、FLC 和 FRC。
下图显示了声道掩码 0x63F 与 7.1 家庭影院扬声器配置之间的对应关系。
上图左侧显示将音频内容录制到 7.1 家庭影院扬声器流格式中。 网格中心的小圆表示侦听器的位置。 每个小黑色矩形表示麦克风。 八个声道编号为 0 到 7。 FL 麦克风将记录到声道 0 中,FR 麦克风记录到声道 1 中,依此类推。
上图右侧显示了通过八扬声器环绕配置播放的同一 7.1 声道流。 在本例中,每个小黑色矩形表示一个扬声器。 其中七个扬声器映射到侦听器周围的网格上的位置。 该映射不会将网格位置分配给 LFE 扬声器(低音炮);这一省略是基于这些扬声器通常只会产生低频率声音的假设,这些声音是非定向的。