Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
DirectSound 8 добавляет некоторые новые функции для включения и управления сторонними эффектами во время записи звука. Эти и более поздние версии DirectSound поддерживают следующие два эффекта захвата:
Акустическое подавление эха
Подавление шума (NS)
В полудуплексном звуковом приложении, таком как телефонная конференц-связь, эхо потока воспроизведения, выходящего через динамики, улавливается микрофоном, который создаёт поток захвата. После характеризации звуковых отражений в комнате или другой физической среде полнодуплексная система использует AEC для отслеживания потока отрисовки, чтобы отменить эхо, которое он добавляет в поток захвата. Система может дополнительно улучшить качество потока захвата с помощью NS для обнаружения пиков шума и удаления их из потока.
Полно дуплексное приложение DirectSound может использовать интерфейсы IDirectSoundCaptureFXAec и IDirectSoundCaptureFXNoiseSuppress для управления эффектами AEC и NS. Метод IDirectSoundCaptureBuffer::GetObjectInPath извлекает указатели на объекты с помощью этих интерфейсов. Функция DirectSoundFullDuplexCreate создает объект IDirectSoundCaptureBuffer , а параметры, передаваемые вызывающей функции, включают массив структур DSCEFFECTDESC. Массив указывает эффекты, которые следует активировать в буфере захвата. Элемент guidDSCFXClass каждой структуры в массиве содержит GUID, указывающий эффект: AEC или NS. Имя DirectSound для каждого GUID показано в следующей таблице вместе с именем KS для того же значения GUID. Дополнительные сведения см. в документации по пакету SDK DirectX 8.0.
| Имя GUID DirectSound | Имя KS GUID |
|---|---|
GUID_DSCFX_CLASS_AEC |
|
GUID_DSCFX_CLASS_NS |
В Microsoft Windows XP и более поздних версиях вы можете предоставлять аппаратные эффекты ускорения записи звукового устройства приложениям DirectSound. Кроме того, системный фильтр AEC (Aec.sys) обеспечивает эмуляцию эффектов AEC и NS.
Эти темы рассматриваются в оставшейся части этого раздела: