Freigeben über


Bereitstellung einer benutzerdefinierten Ducking-Verhalten

Eine Anwendung kann die vom System behandelte Default Ducking Experience deaktivieren und durch eine benutzerdefinierte Implementierung ersetzen.

Eine Anwendung kann eine benutzerdefinierte Entenerfahrung bieten. Windows Media Player bietet z. B. eine eigene Entenfunktion, indem der aktuelle Mediendatenstrom während einer Kommunikationssitzung anzuhalten und die Wiedergabe fortgesetzt wird, wenn die Sitzung geschlossen wird. Eine Beispielmedienanwendung, die Entenung implementiert, ist in Windows SDK-Beispielen enthalten. weitere Informationen finden Sie unter DuckingMediaPlayer. Um die Erfahrung des Öffnens und Schließens von Kommunikationsströmen zu simulieren und Entenereignisse zu generieren, lesen Sie DuckingCaptureSample, das auch in Windows SDK-Beispielen enthalten ist.

Eine Medienanwendung, die Dämpfungssounds wiedergibt, muss den Kommunikationsdatenströmen bewusst sein, wenn sie im System geöffnet und geschlossen werden. Die benutzerdefinierte Implementierung kann mithilfe von MediaFoundation, DirectShow oder DirectSound bereitgestellt werden, die die Core Audio-APIs verwenden. Ein direkter WASAPI-Client kann auch die Standardbehandlung außer Kraft setzen, wenn er weiß, wann die Kommunikationssitzung beginnt und endet.

Um eine benutzerdefinierte Entenerfahrung bereitzustellen, muss ein WASAPI-Client die folgenden Aufgaben ausführen:

  1. Registrieren Sie sich, um Entenereignisse vom Entenmanager zu erhalten – eine Komponente des Audiosystems, die Benachrichtigungen im Zusammenhang mit Kommunikationsdatenstromänderungen verarbeitet. Weitere Informationen erhalten Sie unter "Getting Ducking Events".

    Hinweis

    Wenn der Client für den Empfang von Entenbenachrichtigungen registriert ist, deaktiviert der Entenmanager das vom System bereitgestellte Standardverhalten. Wenn das Standardverhalten explizit deaktiviert ist (siehe Deaktivieren der Standard-Entenerfahrung), und der Client stellt kein Ersatzverhalten bereit, tritt für die Anwendung kein Entenverhalten auf.

     

  2. Lauschen Sie auf die vom Entenmanager gesendeten Entenereignisbenachrichtigungen und führen Sie das gewünschte Entenverhalten aus. Weitere Informationen zum Implementieren eines Entenverhaltens finden Sie unter Implementierungsüberlegungen für Ducking Notifications.

Verwenden eines Kommunikationsgeräts

Standard-Entenerfahrung

Deaktivieren der Standard-Entenerfahrung

Implementierungsüberlegungen für Ducking-Benachrichtigungen

Getting Ducking Events