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:
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.
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.
Tópicos relacionados