Freigeben über


IPerChannelDbLevel::SetLevel-Methode (devicetopology.h)

Die SetLevel-Methode legt die Lautstärke des angegebenen Kanals in Dezibel fest.

Syntax

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

Parameter

[in] nChannel

Die Nummer des ausgewählten Kanals. Wenn der Audiodatenstrom über N Kanäle verfügt, werden die Kanäle zwischen 0 und N bis 1 nummeriert. Rufen Sie die IPerChannelDbLevel::GetChannelCount-Methode auf, um die Anzahl der Kanäle im Stream abzurufen.

[in] fLevelDB

Die neue Lautstärkeebene in Dezibel. Ein positiver Wert stellt den Gewinn dar, und ein negativer Wert stellt die Dämpfung dar.

[in] pguidEventContext

Kontextwert für die IControlChangeNotify::OnNotify-Methode . Dieser Parameter verweist auf eine Ereigniskontext-GUID. Wenn der SetLevel-Aufruf den Status des Ebenensteuerelements ändert, erhalten alle Clients, die IControlChangeNotify registriert haben, Benachrichtigungen mit diesem Steuerelement. 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 Control-Change-Ereignisses 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
Parameter nChannel liegt außerhalb des Bereichs.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

Hinweise

Wenn der Aufrufer einen Wert für fLevelDB angibt, der ein exakter Schrittwert ist, wird die SetLevel-Methode erfolgreich abgeschlossen. Ein nachfolgender Aufruf der IPerChannelDbLevel::GetLevel-Methode gibt entweder den festgelegten Wert oder einen der folgenden Werte zurück:

  • Wenn der festgelegte Wert unter dem Minimum lag, gibt die GetLevel-Methode den Mindestwert zurück.
  • Wenn der festgelegte Wert über dem Maximum lag, gibt die GetLevel-Methode den maximalen Wert zurück.
  • Wenn der festgelegte Wert zwischen zwei Schrittwerten lag, gibt die GetLevel-Methode einen Wert zurück, der der nächste Schrittwert oberhalb oder der Schrittwert unterhalb des festgelegten Werts sein kann. der relative Abstand zwischen dem festgelegten Wert und den benachbarten Schrittwerten ist unwichtig. Der Wert, den die GetLevel-Methode zurückgibt, ist der Wert, der sich stärker auf den Signalpfad auswirkt.

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

Weitere Informationen

IPerChannelDbLevel-Schnittstelle

IPerChannelDbLevel::GetChannelCount

IPerChannelDbLevel::GetLevel

IPerChannelDbLevel::GetLevelRange