Перевод запросов 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.