IChannelAudioVolume-Schnittstelle (audioclient.h)
Mit der IChannelAudioVolume-Schnittstelle kann ein Client die Lautstärkepegel für alle Kanäle in der Audiositzung steuern und überwachen, zu der der Stream gehört. Dies ist die Sitzung, der der Client den Stream während des Aufrufs der IAudioClient::Initialize-Methode zugewiesen hat. Der Client ruft einen Verweis auf die IChannelAudioVolume-Schnittstelle für ein Streamobjekt ab, indem er die IAudioClient::GetService-Methode aufruft, wobei der Parameter riid auf REFIID IID_IChannelAudioVolume festgelegt ist.
Die effektive Lautstärke eines beliebigen Kanals im Sitzungs-Submix, wie er an den Lautsprechern zu hören ist, ist das Produkt der folgenden vier Faktoren auf Lautstärkeebene:
- Die Kanalvolumeebenen der Streams in der Sitzung, die Von Clients über die Methoden in der IAudioStreamVolume-Schnittstelle gesteuert werden können.
- Die Volumeebene der Sitzung pro Kanal, die Clients über die Methoden in der IChannelAudioVolume-Schnittstelle steuern können.
- Die master Volumeebene der Sitzung, die Clients über die Methoden in der ISimpleAudioVolume-Schnittstelle steuern können.
- Die richtlinienbasierte Volumeebene der Sitzung, die das System der Sitzung dynamisch zuweist, wenn sich der globale Mix ändert.
Typische Audioanwendungen ändern die Lautstärkepegel von Sitzungen nicht. Stattdessen verlassen sie sich darauf, dass Benutzer diese Lautstärken über das Sndvol-Programm festlegen. Sndvol ändert nur die master Lautstärkestufen von Sitzungen. Standardmäßig legt der Sitzungs-Manager die Volumestufen pro Kanal bei der ersten Aktivierung einer Sitzung auf 1,0 fest. Nachfolgende Volumeänderungen pro Kanal durch Clients sind bei Computerneustarts persistent.
Beim Freigeben einer IChannelAudioVolume-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 IChannelAudioVolume-Schnittstelle steuert die Kanalvolumes in 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 IChannelAudioVolume-Schnittstelle erbt von der IUnknown-Schnittstelle . IChannelAudioVolume verfügt auch über folgende Arten von Membern:
Methoden
Die IChannelAudioVolume-Schnittstelle verfügt über diese Methoden.
IChannelAudioVolume::GetAllVolumes Die GetAllVolumes-Methode ruft die Lautstärkepegel für alle Kanäle in der Audiositzung ab. |
IChannelAudioVolume::GetChannelCount Die GetChannelCount-Methode ruft die Anzahl der Kanäle im Streamformat für die Audiositzung ab. |
IChannelAudioVolume::GetChannelVolume Die GetChannelVolume-Methode ruft die Lautstärkeebene für den angegebenen Kanal in der Audiositzung ab. |
IChannelAudioVolume::SetAllVolumes Die SetAllVolumes-Methode legt die einzelnen Lautstärkestufen für alle Kanäle in der Audiositzung fest. |
IChannelAudioVolume::SetChannelVolume Die SetChannelVolume-Methode legt die Lautstärke für den angegebenen Kanal in der Audiositzung fest. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | audioclient.h |
Weitere Informationen
IAudioStreamVolume-Schnittstelle