KSNODETYPE_ACOUSTIC_ECHO_CANCEL
Узел KSNODETYPE_ACOUSTIC_ECHO_CANCEL представляет элемент управления AEC (подавление акустического эха). Узел AEC имеет подключения для двух входных и двух выходных потоков. Одна пара входных и выходных данных используется для потока захвата, а другая пара входных и выходных данных — для потока отрисовки. Потоки capture-output и render-input имеют одинаковый формат. Потоки ввода записи и вывода отрисовки могут иметь разное количество каналов и разные частоты выборки. Однако в типичной реализации два потока либо имеют одинаковую частоту дискретизации, либо сочетание, например 16 кГц и 48 кГц или 11,025 кГц и 44,1 кГц, в которых одна частота дискретизации является целым числом, кратным другому.
Узел AEC должен нумеровывать свои логические контакты с помощью идентификаторов контактов из файла заголовка Ksmedia.h, как показано в следующей таблице.
Параметр pin ID | Значение |
---|---|
KSNODEPIN_AEC_RENDER_IN |
Контакт приемника (входные данные узла) для потока отрисовки. |
KSNODEPIN_AEC_RENDER_OUT |
Исходный контакт (выходные данные узла) для потока отрисовки. |
KSNODEPIN_AEC_CAPTURE_IN |
Контакт приемника (входные данные узла) для потока захвата. |
KSNODEPIN_AEC_CAPTURE_OUT |
Исходный контакт (выходные данные узла) для потока записи. |
Обратите внимание, что контакты в предыдущей таблице являются логическими контактами на узле, которые используются исключительно для указания внутренних подключений к фильтру, а не внешних контактов на фильтре, которые используются для подключения к другим фильтрам. Дополнительные сведения см. в разделе PCCONNECTION_DESCRIPTOR.
Сведения о том, как фильтр, содержащий узел AEC, может обеспечить поддержку полнодуплексных приложений DirectSound, см. в разделе Эффекты захвата DirectSound.
При создании фильтра, содержащего узел AEC, или сбросе узла он изначально настраивается для работы в режиме сквозной передачи.
Узел KSNODETYPE_ACOUSTIC_ECHO_CANCEL должен поддерживать следующие свойства, чтобы включить аппаратное ускорение:
KSPROPERTY_AUDIO_CPU_RESOURCES
KSPROPERTY_AUDIO_ALGORITHM_INSTANCE
KSPROPERTY_TOPOLOGYNODE_ENABLE
Свойство KSPROPERTY_TOPOLOGYNODE_ENABLE используется для включения и отключения узла AEC. Если этот параметр отключен, узел работает в режиме сквозной передачи; то есть позволяет потокам отрисовки и записи проходить через узел без изменений.
Узел KSNODETYPE_ACOUSTIC_ECHO_CANCEL также может поддерживать следующие необязательные свойства для предоставления дополнительных возможностей управления и мониторинга.