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


AECMicArray

В этом примере используются API core Audio для записи высококачественного голосового потока. Пример поддерживает акустическую отмену эхо (AEC) и обработку массивов микрофонов с помощью DMO AEC, которая также называется DSP записи голосовой связи, предоставляемой корпорацией Майкрософт.

В этом разделе содержатся следующие разделы.

Description

В этом примере показаны следующие функции.

  • MMDevice для перечисления и выбора мультимедийных устройств.
  • WASAPI для операций управления потоками, таких как запуск и остановка потока, переключение потоков.
  • DeviceTopology для перечисления звуковых адаптеров.
  • EndpointVolume управляет уровнями громкости звуковых сеансов.

Требования

Продукт Версия
Windows SDK Windows Vista или более поздней версии
Visual Studio 2005 (выпуски, отличные от express)

 

Скачивание примера

Этот пример доступен в следующих расположениях.

Расположение Путь или URL-адрес
Пакет Windows SDK \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\AECMicArray\...

 

Построение образца

Чтобы создать пример AecSDKDemo, выполните следующие действия.

  1. Откройте командное окно пакета SDK.

  2. Введите cd %MSSDK%\Setup.

  3. Запустите VCIntegrate.exe.

    На этом этапе командные окна будут иметь правильные параметры среды для создания приложения, использующее преимущества пакета SDK.

  4. Выполните сборку примера.

Запуск примера

При успешной сборке демонстрационного приложения создается исполняемый файл AecSDKDemo.exe. Чтобы запустить его, введите AecSDKDemo в командном окне, за которым следует обязательные или необязательные аргументы, как описано ниже.

AecSDKDemo -out mic_out.pcm -mod system_mode [-option value]

В следующей таблице показаны аргументы.

Аргумент Description
-out Обязательный. Указывает имя выходного файла.
-Мод Обязательный. Задает системный режим записи голоса. Дополнительные сведения см. в разделе "Настройка DMO записи голоса" в примере readme.
-Подвиг Необязательно. Включает режим функций (1) или отключен (0).
-Ns Необязательно. Включает подавление шума (1) или выключение (0). Для указания этого необходимо включить режим компонента.
-Agc Необязательно. Включает цифровой AGC (1) или выключает (0). Для указания этого необходимо включить режим компонента.
-cntrclip Необязательно. Включает вырезку центра (1) или выключение (0). Для указания этого необходимо включить режим компонента.
-spkdev Необязательно. Указывает индекс устройства говорящего. Если это не указано, пользователю будет предложено выбрать.
-micdev Необязательно. Задает индекс устройства микрофона. Если это не указано, пользователю будет предложено выбрать.
-Длительность Необязательно. Указывает, сколько времени выполняется приложение.

 

Этот пример приложения не воспроизводит никаких сигналов. Чтобы правильно запустить демонстрацию для режимов с поддержкой AEC (режим 0 и 4), пользователи должны воспроизводить некоторые звуковые сигналы через одно и то же устройство динамиков, указанное для DMO (то есть устройство, указанное параметром "-spkdev"), которое имитирует дальний голос в двустороннем сценарии чата. Пользователи могут использовать любой проигрыватель для воспроизведения любых звуковых сигналов. Если на выбранном устройстве динамиков нет активного потока отрисовки, DMO не будет обрабатываться.

Примеры пакета SDK, использующие основные API аудио