Изменения файла заголовка
Комплект драйверов Windows (WDK) содержит два файла заголовков, которые определяют конфигурации динамиков, поддерживаемые панелью управления мультимедиа Windows:
Ksmedia.h определяет маски каналов для структуры KSAUDIO_CHANNEL_CONFIG , используемой запросом свойства KSPROPERTY_AUDIO_CHANNEL_CONFIG .
Dsound.h определяет список идентификаторов конфигурации говорящего, которые можно отправить в метод IDirectSound::SetSpeakerConfig . Дополнительные сведения об этом методе см. в документации по Windows SDK.
В Windows Server 2003, Windows XP с пакетом обновления 1 (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
В Windows XP с пакетом обновления 2 (SP2) и более поздних версиях Windows Ksmedia.h определяет маски каналов, показанные в следующей таблице для потоков 5.1- и 7.1-channel.
Имя параметра | Маска канала | Позиции говорящего |
---|---|---|
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 с пакетом обновления 2 (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.