Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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