Freigeben über


IAudioSessionEvents-Schnittstelle (audiopolicy.h)

Die IAudioSessionEvents-Schnittstelle stellt Benachrichtigungen zu sitzungsbezogenen Ereignissen bereit, z. B. Änderungen der Volumeebene, des Anzeigenamens und des Sitzungszustands. Im Gegensatz zu den anderen Schnittstellen in diesem Abschnitt, die von der WASAPI-Systemkomponente implementiert werden, implementiert ein WASAPI-Client die IAudioSessionEvents-Schnittstelle . Um Ereignisbenachrichtigungen zu empfangen, übergibt der Client einen Zeiger auf seine IAudioSessionEvents-Schnittstelle an die IAudioSessionControl::RegisterAudioSessionNotification-Methode .

Nach der Registrierung seiner IAudioClientSessionEvents-Schnittstelle empfängt der Client Ereignisbenachrichtigungen in Form von Rückrufen über die Methoden in der Schnittstelle.

Bei der Implementierung der IAudioSessionEvents-Schnittstelle sollte der Client diese Regeln beachten, um Deadlocks und nicht definiertes Verhalten zu vermeiden:

  • Die Methoden in der -Schnittstelle müssen nicht blockiert werden. Der Client sollte während eines Ereignisrückrufs niemals auf ein Synchronisierungsobjekt warten.
  • Der Client sollte während eines Ereignisrückrufs niemals die IAudioSessionControl::UnregisterAudioSessionNotification-Methode aufrufen.
  • Der Client sollte während eines Ereignisrückrufs niemals den endgültigen Verweis auf ein WASAPI-Objekt freigeben.
Ein Codebeispiel, das eine IAudioSessionEvents-Schnittstelle implementiert, finden Sie unter Audiositzungsereignisse. Ein Codebeispiel, das die IAudioSessionEvents-Schnittstelle eines Clients registriert, um Benachrichtigungen zu empfangen, finden Sie unter Audioereignisse für Legacyaudioanwendungen.

Vererbung

Die IAudioSessionEvents-Schnittstelle erbt von der IUnknown-Schnittstelle . IAudioSessionEvents verfügt auch über folgende Arten von Membern:

Methoden

Die IAudioSessionEvents-Schnittstelle verfügt über diese Methoden.

 
IAudioSessionEvents::OnChannelVolumeChanged

Die OnChannelVolumeChanged-Methode benachrichtigt den Client, dass sich die Lautstärke eines Audiokanals im Sitzungsuntermix geändert hat.
IAudioSessionEvents::OnDisplayNameChanged

Die OnDisplayNameChanged-Methode benachrichtigt den Client, dass der Anzeigename für die Sitzung geändert wurde.
IAudioSessionEvents::OnGroupingParamChanged

Die OnGroupingParamChanged-Methode benachrichtigt den Client, dass der Gruppierungsparameter für die Sitzung geändert wurde.
IAudioSessionEvents::OnIconPathChanged

Die OnIconPathChanged-Methode benachrichtigt den Client, dass das Anzeigesymbol für die Sitzung geändert wurde.
IAudioSessionEvents::OnSessionDisconnected

Die OnSessionDisconnected-Methode benachrichtigt den Client, dass die Audiositzung getrennt wurde.
IAudioSessionEvents::OnSimpleVolumeChanged

Die OnSimpleVolumeChanged-Methode benachrichtigt den Client, dass sich die Lautstärke oder der Stummschaltungszustand der Audiositzung geändert hat.
IAudioSessionEvents::OnStateChanged

Die OnStateChanged-Methode benachrichtigt den Client, dass sich der Streamaktivitätszustand der Sitzung geändert hat.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile audiopolicy.h

Weitere Informationen

Kernaudioschnittstellen

IAudioSessionControl::RegisterAudioSessionNotification

IAudioSessionControl::UnregisterAudioSessionNotification

WASAPI