標頭檔變更
Windows 驅動程式套件 (WDK) 包含兩個標頭檔,可定義 Windows 多媒體控制台支援的說話者設定:
Ksmedia.h 會為KSPROPERTY_AUDIO_CHANNEL_CONFIG屬性要求所使用的KSAUDIO_CHANNEL_CONFIG結構定義通道遮罩。
Dsound.h 會定義可提交至 IDirectSound::SetSpeakerConfig 方法的說話者設定識別碼清單。 如需這個方法的詳細資訊,請參閱 Windows SDK 檔。
在 Windows Server 2003 中,Windows XP SP1、Windows 2000 和 Windows Me/98 中,Ksmedia.h 定義下錶針對 5.1 和 7.1 通道串流顯示的通道遮罩。
參數名稱 | 通道遮罩 | 演講者位置 |
---|---|---|
KSAUDIO_SPEAKER_5POINT1 |
0x3F |
FL、FR、FC、LFE、BL、BR |
KSAUDIO_SPEAKER_7POINT1 |
0xFF |
FL、FR、FC、LFE、BL、BR、FLC、FRC |
上表中的兩個通道遮罩代表 5.1 喇叭組態和 7.1 喇叭組態。 為了識別相同的兩個說話者組態,Dsound.h 會定義下列說話者組態識別碼:
#define DSSPEAKER_5POINT1 0x00000006
#define DSSPEAKER_7POINT1 0x00000007
在具有 SP2 和更新版本的 Windows XP 中,Ksmedia.h 定義下錶針對 5.1 和 7.1 通道資料流程所顯示的通道遮罩。
參數名稱 | 通道遮罩 | 演講者位置 |
---|---|---|
KSAUDIO_SPEAKER_5POINT1 |
0x3F |
FL、FR、FC、LFE、BL、BR |
KSAUDIO_SPEAKER_7POINT1_SURROUND |
0x63F |
FL、FR、FC、LFE、BL、BR、SL、SR |
藉由比較上述兩個數據表,以下幾點很明顯:
第一個資料表中通道遮罩0x3F的意義並未在第二個數據表中變更,即使在 Windows SP2 和更新版本的 Windows 中,KSAUDIO_SPEAKER_5POINT1會解譯為使用 SL 和 SR 喇叭,而不是 BL 和 BR。
支援具有值的新通道遮罩0x63F。 此通道遮罩代表 7.1 家用喇叭設定。
注意 在 Windows Vista 和更新版本的 Windows 中,不再支援KSAUDIO_SPEAKER_7POINT1喇叭設定。 因此,它不是主控台中的可用選項。
為了代表同一組說話者設定,Dsound.h 會定義下列說話者組態識別碼:
#define DSSPEAKER_5POINT1 0x00000006
#define DSSPEAKER_7POINT1 0x00000007
#define DSSPEAKER_7POINT1_SURROUND 0x00000008
#define DSSPEAKER_7POINT1_WIDE DSSPEAKER_7POINT1
DSSPEAKER_7POINT1_SURROUND代表主控台中新的 7.1 家用喇叭組態。 DSSPEAKER_7POINT1和DSSPEAKER_7POINT1_WIDE都是相同 7.1 寬組態喇叭組態的名稱。
如需 DirectSound 說話者設定的詳細資訊,請參閱 DirectSound Speaker-Configuration設定。