Compartilhar via


Fornecendo um comportamento de ducking personalizado

Um aplicativo pode desativar a Experiência de Ducking padrão manipulada pelo sistema e substituí-la por uma implementação personalizada.

Um aplicativo pode fornecer uma experiência de ducking personalizada. Por exemplo, o Windows Media Player fornece sua própria experiência de evasão pausando o fluxo de mídia atual durante uma sessão de comunicação e retomando a reprodução quando a sessão é fechada. Um aplicativo de mídia de exemplo que implementa ducking está incluído em exemplos do SDK do Windows; para obter mais informações, consulte DuckingMediaPlayer. Para simular a experiência de abrir e fechar fluxos de comunicação e gerar eventos de ducking, consulte DuckingCaptureSample, que também está incluído nos exemplos do SDK do Windows.

Um aplicativo de mídia que reproduz sons a serem atenuados deve estar ciente dos fluxos de comunicação, quando eles são abertos e fechados no sistema. A implementação personalizada pode ser fornecida usando MediaFoundation, DirectShow ou DirectSound, que usam as APIs de áudio principal. Um cliente WASAPI direto também pode substituir o tratamento padrão se souber quando a sessão de comunicação começa e termina.

Para fornecer uma experiência de ducking personalizada, um cliente WASAPI deve executar as seguintes tarefas:

  1. Registre-se para receber eventos de ducking do gerenciador ducking — um componente do sistema de áudio que lida com notificações relacionadas a alterações de fluxo de comunicação. Para obter mais informações, Obtendo eventos de pato.

    Observação

    Se o cliente estiver registrado para receber notificações de ducking, o gerenciador ducking desabilitará o comportamento padrão fornecido pelo sistema. Se o comportamento padrão estiver desabilitado explicitamente (consulte Desabilitando a experiência de ducking padrão) e o cliente não fornecer um comportamento substituto, o aplicativo não enfrentará nenhum comportamento de ducking.

     

  2. Ouça as notificações de eventos de pato enviadas pelo gerente de ducking e execute o comportamento de ducking desejado. Para obter mais informações sobre como implementar um comportamento de ducking, consulte Considerações de implementação para notificações de ducking.

Usando um dispositivo de comunicação

Experiência padrão de ducking

Desativando a experiência de ducking padrão

Considerações de implementação para notificações de evasão

Obtendo eventos de ducking