Freigeben über


IChannelAudioVolume::SetAllVolumes-Methode (audioclient.h)

Die SetAllVolumes-Methode legt die einzelnen Lautstärkestufen für alle Kanäle in der Audiositzung fest.

Syntax

HRESULT SetAllVolumes(
  [in] UINT32      dwCount,
  [in] const float *pfVolumes,
  [in] LPCGUID     EventContext
);

Parameter

[in] dwCount

Die Anzahl der Elemente im PfVolumes-Array . Dieser Parameter muss der Anzahl von Kanälen im Streamformat für die Audiositzung entsprechen. Um die Anzahl der Kanäle abzurufen, rufen Sie die IChannelAudioVolume::GetChannelCount-Methode auf.

[in] pfVolumes

Zeiger auf ein Array von Lautstärkepegeln für die Kanäle in der Audiositzung. Die Anzahl der Elemente im pfVolumes-Array wird durch den dwCount-Parameter angegeben. Der Aufrufer schreibt die Volumeebene für jeden Kanal in das Arrayelement, dessen Index mit der Kanalnummer übereinstimmt. Wenn das Streamformat für die Audiositzung N-Kanäle aufweist, werden die Kanäle von 0 bis N–1 nummeriert. 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 über registrierte IAudioSessionEvents-Schnittstellen beim Sitzungs-Manager verfügen. Der Sitzungs-Manager enthält den EventContext-Zeigerwert mit jeder Benachrichtigung. Beim Empfang einer Benachrichtigung kann ein Client feststellen, 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, können mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte umfassen, sind jedoch nicht darauf beschränkt.

Rückgabecode Beschreibung
E_INVALIDARG
Der Parameter dwCount entspricht nicht der Anzahl von Kanälen im Streamformat für die Audiositzung, oder der Wert eines pfVolumes-Arrayelements liegt nicht im Bereich von 0,0 bis 1,0.
E_POINTER
Der Parameter pfVolumes ist NULL.
AUDCLNT_E_DEVICE_INVALIDATED
Das Audioendpunktgerät wurde getrennt, oder die Audiohardware oder die zugehörigen Hardwareressourcen wurden neu konfiguriert, deaktiviert, entfernt oder anderweitig für die Verwendung nicht verfügbar gemacht.
AUDCLNT_E_SERVICE_NOT_RUNNING
Der Windows-Audiodienst wird nicht ausgeführt.

Hinweise

Diese Methode generiert bei Erfolg ein Kanalvolumeänderungsereignis, unabhängig davon, ob sich eine der neuen Kanalvolumeebenen im Wert von den vorherigen Kanalvolumeebenen 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