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


DuckingMediaPlayer

В этом примере приложения демонстрируется атенация потока путем реализации проигрывателя мультимедиа, отображающего поведение затенения по умолчанию, предоставляемое системой, отказ от утихающих событий и реализация пользовательской обработки при получении событий утки. Этот пример должен использоваться в коньюции с DuckingCaptureSample. Дополнительные сведения о затухание или затенении потока см. в разделе "Взаимодействие с утками по умолчанию".

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

Description

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

  • DirectShow для воспроизведения файла мультимедиа.
  • WASAPI для управления потоками и обработки событий утки.

Требования

Продукт Версия
Windows SDK Windows 7
Visual Studio 2008

 

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

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

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

 

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

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

  1. Откройте DuckingMediaPlayer.sln в Visual Studio 2008.
  2. В окне выберите конфигурацию решения отладки или выпуска, выберите меню "Сборка" в строке меню и выберите параметр "Сборка". Если вы не открываете Visual Studio из оболочки CMD для пакета SDK, Visual Studio не будет иметь доступа к среде сборки пакета SDK. В этом случае пример не будет создаваться, если вы явно не задаете переменную среды MSSdk, которая используется в файле проекта DuckingMediaPlayer.vcproj.

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

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

Чтобы просмотреть демонстрацию утки, необходимо одновременно выполнить DuckingMediaPlayer и DuckingCaptureSample. DuckingCaptureSample открывает поток связи и сигнализирует системе о создании события утки. DuckingMediaPlayer уведомляется системой при возникновении события утки, а проигрыватель мультимедиа выполняет действие, запрошенное пользователем.

Чтобы отключить поведение утки, выполните следующие действия:

  1. В окне DuckingCaptureSample выберите "Использовать входное устройство по умолчанию" и нажмите кнопку "Пуск ", чтобы начать сеанс записи с устройства связи.
  2. В DuckingMediaPlayer выберите файл мультимедиа для воспроизведения и укажите параметр утки как отказ от утки.

Обратите внимание, что файл мультимедиа воспроизводится без каких-либо прерываний. События, создаваемые системой при открытии потока коммуникации, игнорируются.

Чтобы продемонстрировать поведение уток по умолчанию, предоставленное системой, выполните следующие действия:

  1. Выберите параметр "Звуки" на панели управления. На вкладке "Коммуникации" выберите "Уменьшить объем других звуков на 80%".
  2. В окне DuckingCaptureSample выберите "Использовать входное устройство по умолчанию" и нажмите кнопку "Пуск ", чтобы начать сеанс записи с устройства связи.
  3. В DuckingMediaPlayer выберите файл мультимедиа для воспроизведения без выбора любого из параметров утки.
  4. В окне DuckingCaptureSample нажмите кнопку "Остановить ", чтобы остановить поток связи.

Обратите внимание, что когда DuckingCaptureSample открывает поток обмена данными, файл мультимедиа, воспроизводимый DuckingMediaPlayer без прерываний, но уровень тома снижается. При остановке сеанса связи том сбрасывается на исходный параметр. Это поведение затенения потока — это поведение, используемое системой по умолчанию.

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

  1. В окне DuckingCaptureSample выберите "Использовать входное устройство по умолчанию" и нажмите кнопку "Пуск ", чтобы начать сеанс записи с устройства связи.
  2. В DuckingMediaPlayer выберите файл мультимедиа для воспроизведения и укажите параметр утки в качестве приостановки на утки.
  3. В окне DuckingCaptureSample нажмите кнопку "Остановить ", чтобы остановить поток связи.

Обратите внимание, что когда DuckingCaptureSample открывает поток обмена данными, файл мультимедиа, воспроизводимый DuckingMediaPlayer, приостановлен. Воспроизведение возобновляется при остановке сеанса связи. Это поведение затухания потока — это поведение утки, реализованное проигрывателем мультимедиа.

DuckingMediaPlayer также демонстрирует, как интегрировать управление громкостями для каждого приложения с миксером томов.

Дополнительные сведения о функции аттестации потока см. в разделе "Взаимодействие с утками по умолчанию".

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