声道掩码

在 Windows 中,WAVEFORMATEXTENSIBLE 结构定义多声道 PCM 音频流的数据格式。 此结构会指定一些参数,例如每个 PCM 样本的位数、流中的声道数和声道掩码。 声道掩码指定声道到扬声器的映射。 下图显示了声道掩码中的各个位。

Diagram showing individual bits in the channel mask for speaker positions.

声道掩码中的每个位都表示特定的扬声器位置。 如果掩码将声道分配给特定扬声器位置,则表示该位置的掩码位设置为 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 家庭影院扬声器配置之间的对应关系。

Diagram of 7.1 home theater speakers configuration with channel mask 0x63F for recording and playback.

上图左侧显示将音频内容录制到 7.1 家庭影院扬声器流格式中。 网格中心的小圆表示侦听器的位置。 每个小黑色矩形表示麦克风。 八个声道编号为 0 到 7。 FL 麦克风将记录到声道 0 中,FR 麦克风记录到声道 1 中,依此类推。

上图右侧显示了通过八扬声器环绕配置播放的同一 7.1 声道流。 在本例中,每个小黑色矩形表示一个扬声器。 其中七个扬声器映射到侦听器周围的网格上的位置。 该映射不会将网格位置分配给 LFE 扬声器(低音炮);这一省略是基于这些扬声器通常只会产生低频率声音的假设,这些声音是非定向的。