ISimpleAudioVolume-Schnittstelle (audioclient.h)

Die ISimpleAudioVolume-Schnittstelle ermöglicht es einem Client, den master Lautstärkepegel einer Audiositzung zu steuern. Die IAudioClient::Initialize-Methode initialisiert ein Streamobjekt und weist den Stream einer Audiositzung zu. Der Client ruft einen Verweis auf die ISimpleAudioVolume-Schnittstelle in einem Streamobjekt ab, indem er die IAudioClient::GetService-Methode aufruft, wobei der Parameter riid auf REFIID IID_ISimpleAudioVolume festgelegt ist.

Alternativ kann ein Client die ISimpleAudioVolume-Schnittstelle einer vorhandenen Sitzung abrufen, ohne zuerst ein Streamobjekt erstellen und den Stream der Sitzung hinzufügen zu müssen. Stattdessen ruft der Client die IAudioSessionManager::GetSimpleAudioVolume-Methode mit der Sitzungs-GUID auf.

Die effektive Lautstärke eines beliebigen Kanals im Sitzungs-Submix, wie er von den Lautsprechern gehört wird, ist das Produkt der folgenden vier Faktoren auf Lautstärkeebene:

  • Die Volumeebenen pro Kanal der Streams in der Sitzung, die Clients über die Methoden in der IAudioStreamVolume-Schnittstelle steuern können.
  • Die master Volumeebene der Sitzung, die Clients über die Methoden in der ISimpleAudioVolume-Schnittstelle steuern können.
  • Die Volumeebene pro Kanal der Sitzung, die Clients über die Methoden in der IChannelAudioVolume-Schnittstelle steuern können.
  • Die richtlinienbasierte Volumeebene der Sitzung, die das System dynamisch der Sitzung zuweist, wenn sich die globale Mischung ändert.
Jeder der vier Faktoren auf Volumeebene in der vorherigen Liste ist ein Wert im Bereich von 0,0 bis 1,0, wobei 0,0 für Stille und 1,0 für volle Lautstärke (keine Dämpfung) steht. Die effektive Volumeebene ist ebenfalls ein Wert im Bereich von 0,0 bis 1,0.

Typische Audioanwendungen ändern die Lautstärkepegel von Sitzungen nicht. Stattdessen verlassen sie sich darauf, dass Benutzer diese Volumeebenen über das Sndvol-Programm festlegen. Sndvol ändert nur die master Volumeebenen von Sitzungen. Standardmäßig legt der Sitzungs-Manager die master Volumeebene bei der ersten Aktivierung einer Sitzung auf 1,0 fest. Nachfolgende Volumeänderungen durch Sndvol oder andere Clients sind über Computerneustarts hinweg persistent.

Beim Freigeben einer ISimpleAudioVolume-Schnittstelle instance muss der Client die Release-Methode der Schnittstelle aus demselben Thread aufrufen wie der Aufruf von IAudioClient::GetService, der das Objekt erstellt hat.

Die ISimpleAudioVolume-Schnittstelle steuert die Lautstärke einer Audiositzung. Eine Audiositzung ist eine Sammlung von Streams im freigegebenen Modus. Diese Schnittstelle funktioniert nicht mit Datenströmen im exklusiven Modus. Informationen zu Volumesteuerelementen für Datenströme im exklusiven Modus finden Sie unter EndpointVolume-API.

Vererbung

Die ISimpleAudioVolume-Schnittstelle erbt von der IUnknown-Schnittstelle . ISimpleAudioVolume verfügt auch über folgende Membertypen:

Methoden

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

 
ISimpleAudioVolume::GetMasterVolume

Die GetMasterVolume-Methode ruft die Clientlautstärke für die Audiositzung ab.
ISimpleAudioVolume::GetMute

Die GetMute-Methode ruft den aktuellen Stummschaltungszustand für die Audiositzung ab.
ISimpleAudioVolume::SetMasterVolume

Die SetMasterVolume-Methode legt den master Lautstärkepegel für die Audiositzung fest.
ISimpleAudioVolume::SetMute

Die SetMute-Methode legt den Stummschaltungszustand für die Audiositzung fest.

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 audioclient.h

Weitere Informationen

Kernaudioschnittstellen

IAudioClient::GetService

IAudioClient::Initialize

IAudioStreamVolume-Schnittstelle

IChannelAudioVolume-Schnittstelle

WASAPI