Freigeben über


Bereitstellen eines benutzerdefinierten Duckingverhaltens

Eine Anwendung kann die vom System verwaltete Standard-Entenerfahrung deaktivieren und durch eine benutzerdefinierte Implementierung ersetzen.

Eine Anwendung kann eine benutzerdefinierte Entenumgebung bereitstellen. Beispielsweise bietet Windows Medienwiedergabe eine eigene Ducking-Erfahrung, indem der aktuelle Mediendatenstrom während einer Kommunikationssitzung angehalten und die Wiedergabe fortgesetzt wird, wenn die Sitzung geschlossen wird. Eine Beispielmedienanwendung, die Ducking implementiert, ist in windows SDK-Beispielen enthalten. Weitere Informationen finden Sie unter DuckingMediaPlayer. Informationen zum Öffnen und Schließen von Kommunikationsdatenströmen sowie zum Generieren von Duckingereignissen finden Sie unter DuckingCaptureSample, das auch in Windows SDK-Beispielen enthalten ist.

Eine Medienanwendung, die zu dämpfungsfähige Sounds wiedergibt, muss sich der Kommunikationsströme 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 Entenumgebung bereitzustellen, muss ein WASAPI-Client die folgenden Aufgaben ausführen:

  1. Registrieren Sie sich, um Duckingereignisse vom Ducking-Manager zu empfangen – eine Komponente des Audiosystems, die Benachrichtigungen im Zusammenhang mit Änderungen des Kommunikationsstreams verarbeitet. Weitere Informationen finden Sie unter Abrufen von Duckingereignissen.

    Hinweis

    Wenn der Client für den Empfang von Duckingbenachrichtigungen registriert ist, deaktiviert der Ducking-Manager das vom System bereitgestellte Standardverhalten. Wenn das Standardverhalten explizit deaktiviert ist (siehe Deaktivieren der Standardbeendigung) und der Client kein Ersatzverhalten bereitstellt, tritt für die Anwendung kein Entenverhalten auf.

     

  2. Lauschen Sie auf die vom Ducking-Manager gesendeten Entenereignisbenachrichtigungen, und führen Sie das gewünschte Entenverhalten aus. Weitere Informationen zum Implementieren eines Duckingverhaltens finden Sie unter Implementierungsüberlegungen für Duckingbenachrichtigungen.

Verwenden eines Kommunikationsgeräts

Standard-Ducking-Erfahrung

Deaktivieren der standardbeendigen Benutzeroberfläche

Implementierungsüberlegungen für Duckingbenachrichtigungen

Abrufen von Duckingereignissen