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