Share via


IChannelAudioVolume::SetChannelVolume-Methode (audioclient.h)

Die SetChannelVolume-Methode legt die Lautstärke für den angegebenen Kanal in der Audiositzung fest.

Syntax

HRESULT SetChannelVolume(
  [in] UINT32      dwIndex,
  [in] const float fLevel,
  [in] LPCGUID     EventContext
);

Parameter

[in] dwIndex

Die Kanalnummer. Wenn das Streamformat für die Audiositzung N-Kanäle aufweist, werden die Kanäle von 0 bis N– 1 nummeriert. Rufen Sie die IChannelAudioVolume::GetChannelCount-Methode auf, um die Anzahl der Kanäle abzurufen.

[in] fLevel

Die Lautstärkeebene für den Kanal. Gültige Lautstärkestufen liegen im Bereich von 0,0 bis 1,0.

[in] EventContext

Zeiger auf die Ereigniskontext-GUID. Wenn ein Aufruf dieser Methode ein Channel-Volume-Change-Ereignis generiert, sendet der Sitzungs-Manager Benachrichtigungen an alle Clients, die IAudioSessionEvents-Schnittstellen mit dem Sitzungs-Manager registriert haben. Der Sitzungs-Manager enthält den EventContext-Zeigerwert mit jeder Benachrichtigung. Beim Empfang einer Benachrichtigung kann ein Client ermitteln, ob er oder ein anderer Client die Quelle des Ereignisses ist, indem er den EventContext-Wert überprüft. Dieses Schema hängt davon ab, dass der Client einen Wert für diesen Parameter auswählt, der für alle Clients in der Sitzung eindeutig ist. Wenn der Aufrufer einen NULL-Zeiger für diesen Parameter bereitstellt, empfängt die Benachrichtigungsmethode des Clients einen NULL-Kontextzeiger .

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, 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 dwIndex ist auf eine ungültige Kanalnummer festgelegt, oder der Parameter fLevel liegt nicht im Bereich von 0,0 bis 1,0.
AUDCLNT_E_DEVICE_INVALIDATED
Das Audioendpunktgerät wurde nicht angeschlossen, oder die Audiohardware oder die zugehörigen Hardwareressourcen wurden neu konfiguriert, deaktiviert, entfernt oder anderweitig nicht mehr verfügbar gemacht.
AUDCLNT_E_SERVICE_NOT_RUNNING
Der Windows-Audiodienst wird nicht ausgeführt.

Hinweise

Wenn diese Methode erfolgreich ist, wird ein Kanal-Volume-Change-Ereignis generiert, unabhängig davon, ob sich die neue Kanalvolumeebene im Wert von der vorherigen Kanalvolumeebene unterscheidet.

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

IAudioSessionEvents-Schnittstelle

IChannelAudioVolume-Schnittstelle

IChannelAudioVolume::GetChannelCount