Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом примере приложения демонстрируется открытие и закрытие потоков связи, что вызывает события снижения громкости, которые приложение может использовать для реализации ослабления потока. Это приложение реализует клиент чата, использующий API Core Audio для чтения звуковых данных с устройства связи и воспроизведения на выходном устройстве.
В этом разделе содержатся следующие разделы.
Описание
В этом примере показаны следующие функции.
- API MMDevice для перечисления и выбора мультимедийных устройств.
- WASAPI для доступа к устройствам захвата и рендеринга коммуникаций, управления потоками и обработки событий автоматического снижения громкости.
- API-интерфейсы WAVE для доступа к коммуникационному устройству и захвата аудиосигнала.
Требования
| Продукт | Версия |
|---|---|
| Windows SDK | Windows 7 |
| Visual Studio 2008 |
Скачивание примера
Этот пример доступен в следующих расположениях.
| Местоположение | Путь или URL-адрес |
|---|---|
| Windows SDK | \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\DuckingCaptureSample\... |
Создание примера
Чтобы создать пример DuckingCaptureSample, выполните следующие действия:
- Откройте DuckingCaptureSample.sln в Visual Studio 2008.
- В окне выберите конфигурацию решения отладки или выпуска, выберите меню сборки в строке меню и выберите параметр Сборка. Если вы не открываете Visual Studio из оболочки CMD для пакета SDK, Visual Studio не будет иметь доступа к среде сборки пакета SDK. В этом случае пример не будет создаваться, если вы явно не задали переменную среды MSSdk, которая используется в файле проекта DuckingCaptureSample.vcproj.
Запуск примера программы
При успешной сборке приложения создается исполняемый файл DuckingCaptureSample.exe. Чтобы запустить его, выберите начать отладку или запустить без отладки в меню отладки или введите DuckingCaptureSample в командном окне.
DuckingCaptureSample предоставляет пользователю две реализации для записи звука с устройства консоли по умолчанию: WASAPI и API волны. Чтобы начать сеанс захвата, выберите режим и щелкните Запустить в интерфейсе приложения. Чтобы завершить сеанс, щелкните Стоп. В зависимости от устройства ввода или вывода, выбранного пользователем, приложение использует API MMDevice для получения ссылки на устройство по умолчанию для воспроизведения или захвата звука. После запуска сеанса чата приложение выполняет следующие задачи:
- Создает и инициализирует звуковой клиент в режиме на основе событий.
- Ассоциирует клиента с дескриптором события, который сигнализирует о том, что образцы готовы к захвату или отрисовке.
- Настраивает клиент записи и клиент отрисовки для транспорта.
- Создает поток чата и запускает звуковой модуль.
Для записи звуковых данных с каждым проходом обработки пример использует клиент записи, чтобы получить общий объем захваченных данных, доступных в буфере, считывать данные с устройства ввода по умолчанию, а также освободить пакет и сделать буфер доступным для чтения следующего набора захваченных данных.
Для отрисовки приложение определяет объем данных, которые помещается в очередь для воспроизведения в буфере конечной точки записи. Он соответственно записывает в буфер и освобождает его для подготовки к следующему этапу обработки, пока все данные не будут записаны. Для отрисовки тихие кадры предварительно подготавливаются, чтобы предотвратить сбой аудио-движка при запуске. DuckingCaptureSample также показывает, как скрыть поток рендеринга от микшера громкости.
Дополнительные сведения о функции заглушения потока см. раздел Использование устройства связи.
Связанные разделы
-
Примеры пакета SDK , использующие основные API аудио