Compartilhar via


DuckingMediaPlayer

Este aplicativo de exemplo demonstra a atenuação de fluxo implementando um media player que mostra o comportamento de atenuação padrão fornecido pelo sistema, desativa eventos de ducking e implementa manipulação personalizada quando eventos ducking são recebidos. Este exemplo deve ser usado em conjunto com DuckingCaptureSample. Para obter mais informações sobre ducking ou atenuação de fluxo, consulte Default Ducking Experience.

Este tópico inclui as seções a seguir.

Descrição

Este exemplo demonstra os seguintes recursos.

  • DirectShow para reproduzir um arquivo de mídia.
  • WASAPI para gerenciamento de fluxo e manipulação de eventos de ducking.

Requisitos

Product Versão
SDK do Windows Windows 7
Visual Studio 2008

 

Baixar o exemplo

Este exemplo está disponível nos seguintes locais.

Localidade Caminho/URL
SDK do Windows \Arquivos de Programas\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\DuckingMediaPlayer\...

 

Compilando o exemplo

Para criar o exemplo DuckingMediaPlayer, use as seguintes etapas:

  1. Abra o DuckingMediaPlayer.sln no Visual Studio 2008.
  2. Na janela, selecione a configuração da solução Depurar ou Liberar, selecione o menu Construir na barra de menus e selecione a opção Compilar. Se você não abrir o Visual Studio do shell CMD para o SDK, o Visual Studio não terá acesso ao ambiente de compilação do SDK. Nesse caso, o exemplo não será compilado, a menos que você defina explicitamente a variável de ambiente MSSdk, que é usada no arquivo de projeto, DuckingMediaPlayer.vcproj.

Executando o exemplo

Se você compilar o aplicativo com êxito, um arquivo executável, DuckingMediaPlayer.exe, será gerado. Para executá-lo, selecione Iniciar Depuração ou Iniciar Sem Depuração no menu Depurar ou digite DuckingMediaPlayer em uma janela de comando.

Para ver uma demonstração de ducking, você deve executar DuckingMediaPlayer e DuckingCaptureSample simultaneamente. DuckingCaptureSample abre um fluxo de comunicação e sinaliza o sistema para gerar um evento ducking. O DuckingMediaPlayer é notificado pelo sistema quando ocorre um evento ducking e o media player executa a ação solicitada pelo usuário.

Para desativar o comportamento de ducking:

  1. Na janela DuckingCaptureSample, selecione Usar dispositivo de entrada padrão e clique em Iniciar para iniciar uma sessão de captura a partir do dispositivo de comunicação.
  2. No DuckingMediaPlayer, selecione um arquivo de mídia a ser reproduzido e especifique a opção ducking como Opt out of Ducking.

Observe que o arquivo de mídia é reproduzido sem qualquer interrupção. Os eventos gerados pelo sistema quando o fluxo de comunicação é aberto são ignorados.

Para demonstrar o comportamento de ducking padrão fornecido pelo sistema, faça o seguinte:

  1. Selecione a opção Sons no painel de controle. Na guia Comunicações, selecione Reduzir o volume de outros sons em 80%.
  2. Na janela DuckingCaptureSample, selecione Usar dispositivo de entrada padrão e clique em Iniciar para iniciar uma sessão de captura a partir do dispositivo de comunicação.
  3. No DuckingMediaPlayer, selecione um arquivo de mídia para reproduzir, sem escolher nenhuma das opções de ducking.
  4. Na janela DuckingCaptureSample, clique em Parar para interromper o fluxo de comunicação.

Observe que quando DuckingCaptureSample abre o fluxo de comunicação, o arquivo de mídia reproduzido pelo DuckingMediaPlayer é reproduzido sem interrupção, mas o nível de volume é reduzido. Quando a sessão de comunicação é interrompida, o volume é redefinido para a configuração original. Esse comportamento de atenuação de fluxo é o comportamento de ducking padrão implementado pelo sistema.

Para exibir um comportamento de ducking personalizado implementado pelo media player:

  1. Na janela DuckingCaptureSample, selecione Usar dispositivo de entrada padrão e clique em Iniciar para iniciar uma sessão de captura a partir do dispositivo de comunicação.
  2. No DuckingMediaPlayer, selecione um arquivo de mídia a ser reproduzido e especifique a opção ducking como Pausar no Duck.
  3. Na janela DuckingCaptureSample, clique em Parar para interromper o fluxo de comunicação.

Observe que quando DuckingCaptureSample abre o fluxo de comunicação, o arquivo de mídia reproduzido pelo DuckingMediaPlayer é pausado. A reprodução é retomada quando a sessão de comunicação é interrompida. Esse comportamento de atenuação de fluxo é o comportamento de esquiva implementado pelo media player.

DuckingMediaPlayer também demonstra como integrar o controle de volume para cada aplicativo com o misturador de volume.

Para obter mais informações sobre o recurso de atenuação de fluxo, consulte Experiência de ducking padrão.

Exemplos de SDK que usam as APIs de áudio principais