Поделиться через


Перевод запросов Speaker-Configuration

Примечание Эти сведения относятся к Windows XP и более ранним операционным системам. Начиная с Windows Vista, IDirectSound::GetSpeakerConfig и IDirectSound::SetSpeakerConfig устарели.

Когда приложение вызывает IDirectSound::SetSpeakerConfig (см. документацию по Microsoft Windows SDK) для изменения конфигурации говорящего, DirectSound преобразует указанный параметр конфигурации говорящего DSSPEAKER_Xxx в эквивалентную маску конфигурации канала KSAUDIO_Xxxx. Он отправляет запрос KSPROPERTY_AUDIO_CHANNEL_CONFIG set-property, содержащий эту маску, в фильтр, представляющий устройство DirectSound.

В следующей таблице каждый параметр DSSPEAKER_Xxx слева связан с эквивалентной маской конфигурации канала KSAUDIO_Xxx справа.

Параметр DSSPEAKER Маска Channel-Configuration KSAUDIO

DSSPEAKER_DIRECTOUT

KSAUDIO_SPEAKER_DIRECTOUT

DSSPEAKER_HEADPHONE

KSAUDIO_SPEAKER_STEREO

DSSPEAKER_MONO

KSAUDIO_SPEAKER_MONO

DSSPEAKER_STEREO

KSAUDIO_SPEAKER_STEREO

DSSPEAKER_QUAD

KSAUDIO_SPEAKER_QUAD

DSSPEAKER_SURROUND

KSAUDIO_SPEAKER_SURROUND

DSSPEAKER_5POINT1

KSAUDIO_SPEAKER_5POINT1

DSSPEAKER_7POINT1

KSAUDIO_SPEAKER_7POINT1

В предыдущей таблице DirectSound указывает конфигурации наушников и стереофонического динамиков с одной маской канала, KSAUDIO_SPEAKER_STEREO. Чтобы различать эти две конфигурации, DirectSound отправляет фильтру второй запрос set-property, который указывает геометрию говорящего (см . KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY). Чтобы указать наушники, DirectSound передает значение KSAUDIO_STEREO_SPEAKER_GEOMETRY_HEADPHONE с запросом speaker-geometry.

Однако в случае стереофонических динамиков вызывающий объект SetSpeakerConfig может указать одну из нескольких возможных геометрических DSSPEAKER_Xxx стереофонических динамиков. Они отображаются в левом столбце следующей таблицы, а эквивалентные параметры KSAUDIO_Xxx отображаются справа.

DSSPEAKER Stereo-Speaker Geometry KSAUDIO Stereo-Speaker Geometry

DSSPEAKER_GEOMETRY_WIDE

KSAUDIO_STEREO_SPEAKER_GEOMETRY_WIDE

DSSPEAKER_GEOMETRY_NARROW

KSAUDIO_STEREO_SPEAKER_GEOMETRY_NARROW

DSSPEAKER_GEOMETRY_MIN

KSAUDIO_STEREO_SPEAKER_GEOMETRY_MIN

DSSPEAKER_GEOMETRY_MAX

KSAUDIO_STEREO_SPEAKER_GEOMETRY_MAX

Если вызывающий объект явно не указывает одну из геометрических объектов в левом столбце выше, DirectSound предполагает, что по умолчанию DSSPEAKER_GEOMETRY_WIDE.