Share via


IAudioSessionManager2::RegisterDuckNotification-Methode (audiopolicy.h)

Die RegisterDuckNotification-Methode registriert die Anwendung beim Sitzungs-Manager, um Duckingbenachrichtigungen zu empfangen.

Syntax

HRESULT RegisterDuckNotification(
  LPCWSTR                      sessionID,
  IAudioVolumeDuckNotification *duckNotification
);

Parameter

sessionID

Zeiger auf eine NULL-beendete Zeichenfolge, die einen Sitzungs-instance-Bezeichner enthält. Anwendungen, die einen Mediendatenstrom wiedergeben und benutzerdefiniertes Streamdämpfungs- oder Duckingverhalten bereitstellen möchten, übergeben ihre eigene Sitzungs-instance-ID. Weitere Informationen finden Sie in den Hinweisen.

Andere Anwendungen, die ihre Streams nicht ändern möchten, aber alle Entenbenachrichtigungen abrufen möchten, müssen NULL übergeben.

duckNotification

Zeiger auf die Implementierung der IAudioVolumeDuckNotification-Schnittstelle in der Anwendung. Die Implementierung wird aufgerufen, wenn Duckingereignisse vom Audiosystem ausgelöst werden und Benachrichtigungen an die registrierten Anwendungen gesendet werden.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, umfassen mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte, sind jedoch nicht darauf beschränkt.

Rückgabewert Beschreibung
E_POINTER
duckNotification ist NULL.
E_OUTOFMEMORY
Ein internes Objekt konnte aufgrund unzureichendem Arbeitsspeicher nicht erstellt werden.

Hinweise

Stream Dämpfung oder Enten ist ein neues Feature in Windows 7. Eine Anwendung, die einen Mediendatenstrom wiedergibt, kann dazu führen, dass sich der Datenstrom anders verhält, wenn ein neuer Kommunikationsdatenstrom auf dem Standardkommunikationsgerät geöffnet wird. Beispielsweise kann der ursprüngliche Mediendatenstrom angehalten werden, während der neue Kommunikationsdatenstrom geöffnet ist. Um diese benutzerdefinierte Implementierung für die Streamdämpfung bereitzustellen, kann die Anwendung die Standardmäßige Streamdämpfung deaktivieren, indem sie IAudioSessionControl::SetDuckingPreference aufruft und sich dann registrieren, um Benachrichtigungen zu erhalten, wenn Sitzungsereignisse auftreten. Zur Streamdämpfung wird vom System ein Sitzungsereignis ausgelöst, wenn ein Kommunikationsdatenstrom auf dem Standardkommunikationsgerät geöffnet oder geschlossen wird. Weitere Informationen zu diesem Feature finden Sie unter Abrufen von Duckingereignissen.

Um Benachrichtigungen zu erhalten, ruft die Anwendung die RegisterDuckNotification-Methode auf, um die IAudioVolumeDuckNotification-Schnittstelle beim Sitzungs-Manager zu registrieren. Wenn die Anwendung keine Benachrichtigungen mehr benötigt, ruft sie die IAudioSessionManager2::UnregisterDuckNotification-Methode auf, um die Registrierung zu löschen.

Die Anwendung empfängt Benachrichtigungen über die Duckingereignisse über die Methoden der IAudioVolumeDuckNotification-Schnittstelle . Die Anwendung implementiert IAudioVolumeDuckNotification. Nachdem der Registrierungsaufruf erfolgreich war, ruft das System die Methoden dieser Schnittstelle auf, wenn Sitzungsereignisse auftreten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile audiopolicy.h

Weitere Informationen

IAudioSessionManager2

Verwenden eines Kommunikationsgeräts