Freigeben über


IAudioEndpointVolume::SetChannelVolumeLevel-Methode (endpointvolume.h)

Die SetChannelVolumeLevel-Methode legt den Lautstärkepegel des angegebenen Kanals des Audiodatenstroms in Dezibel fest, der in das Audioendpunktgerät eintritt oder dieses verlässt.

Syntax

HRESULT SetChannelVolumeLevel(
  [in] UINT    nChannel,
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

Parameter

[in] nChannel

Die Kanalnummer. Wenn der Audiodatenstrom n Kanäle enthält, werden die Kanäle zwischen 0 und n bis 1 nummeriert. Rufen Sie die IAudioEndpointVolume::GetChannelCount-Methode auf, um die Anzahl der Kanäle abzurufen.

[in] fLevelDB

Die neue Lautstärkeebene in Dezibel. Rufen Sie die IAudioEndpointVolume::GetVolumeRange-Methode auf, um den Bereich und die Granularität der Volumeebenen abzurufen, die mit dieser Methode festgelegt werden können.

[in] pguidEventContext

Kontextwert für die IAudioEndpointVolumeCallback::OnNotify-Methode . Dieser Parameter verweist auf eine Ereigniskontext-GUID. Wenn der SetChannelVolumeLevel-Aufruf die Volumeebene des Endpunkts ändert, erhalten alle Clients, die IAudioEndpointVolumeCallback registriert haben, Benachrichtigungen. Bei der Implementierung der OnNotify-Methode kann ein Client die Ereigniskontext-GUID untersuchen, um zu ermitteln, ob sie oder ein anderer Client die Quelle des Volumeänderungsereignisses ist. Wenn der Aufrufer einen NULL-Zeiger für diesen Parameter bereitstellt, empfängt die Benachrichtigungsroutine den Kontext-GUID-Wert GUID_NULL.

Rückgabewert

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

Rückgabecode Beschreibung
E_INVALIDARG
Der Parameter nChannel ist größer oder gleich der Anzahl der Kanäle im Stream. oder der fLevelDB-Parameter liegt außerhalb des vom Gerät unterstützten Volumebereichs.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

Hinweise

Wenn fLevelDB auf Volumeebene außerhalb des von der IAudioEndpointVolume::GetVolumeRange-Methode gemeldeten Volumebereichs liegt, schlägt der SetChannelVolumeLevel-Aufruf fehl und gibt den Fehlercode E_INVALIDARG zurück.

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

Weitere Informationen

IAudioEndpointVolume-Schnittstelle

IAudioEndpointVolume::GetChannelCount

IAudioEndpointVolume::GetVolumeRange

IAudioEndpointVolumeCallback-Schnittstelle

IAudioEndpointVolumeCallback::OnNotify