waveOutSetVolume-Funktion (mmeapi.h)

Die waveOutSetVolume-Funktion legt den Lautstärkepegel des angegebenen Waveform-Audioausgabegeräts fest.

Syntax

MMRESULT waveOutSetVolume(
  HWAVEOUT hwo,
  DWORD    dwVolume
);

Parameter

hwo

Handle für ein offenes Waveform-Audioausgabegerät. Dieser Parameter kann auch ein Gerätebezeichner sein.

dwVolume

Neue Volumeeinstellung. Das Wort mit niedriger Reihenfolge enthält die Einstellung für das linke Kanalvolume, und das Wort mit hoher Reihenfolge enthält die Einstellung für den rechten Kanal. Ein Wert von 0xFFFF stellt das vollständige Volume dar, und ein Wert von 0x0000 ist Stille.

Wenn ein Gerät sowohl die linke als auch die rechte Lautstärkesteuerung nicht unterstützt, gibt das Wort dwVolume in niedriger Reihenfolge die Lautstärkeebene an, und das Wort mit hoher Reihenfolge wird ignoriert.

Rückgabewert

Gibt MMSYSERR_NOERROR zurück, wenn erfolgreich oder andernfalls ein Fehler aufgetreten ist. Mögliche Fehlerwerte sind:

Rückgabecode Beschreibung
MMSYSERR_INVALHANDLE
Das angegebene Gerätehandle ist ungültig.
MMSYSERR_NODRIVER
Es ist kein Gerätetreiber vorhanden.
MMSYSERR_NOMEM
Speicher kann nicht zugeordnet oder gesperrt werden.
MMSYSERR_NOTSUPPORTED
Die Funktion wird nicht unterstützt.

Hinweise

Wenn ein Gerätebezeichner verwendet wird, gilt das Ergebnis des waveOutSetVolume-Aufrufs für alle Instanzen des Geräts. Wenn ein Gerätehandle verwendet wird, gilt das Ergebnis nur für die instance des Geräts, auf das vom Gerätehandle verwiesen wird.

Volumeänderungen werden nicht von allen Geräten unterstützt. Um zu bestimmen, ob das Gerät die Lautstärkesteuerung unterstützt, verwenden Sie das flag WAVECAPS_VOLUME, um das dwSupport-Element der WAVEOUTCAPS-Struktur zu testen (gefüllt mit der waveOutGetDevCaps-Funktion ). Verwenden Sie das Flag WAVECAPS_LRVOLUME, um zu bestimmen, ob das Gerät die Lautstärkeregelung auf dem linken und rechten Kanal unterstützt.

Die meisten Geräte unterstützen nicht die vollständigen 16 Bit der Steuerung auf Volumeebene und verwenden nicht die geringsten Bits der angeforderten Volumeeinstellung. Wenn ein Gerät beispielsweise 4 Bits der Lautstärkeregelung unterstützt, werden die Werte 0x4000, 0x4FFF und 0x43BE alle auf 0x4000 abgeschnitten. Die waveOutGetVolume-Funktion gibt den vollständigen 16-Bit-Einstellungssatz mit waveOutSetVolume zurück.

Volumeeinstellungen werden logarithmisch interpretiert. Dies bedeutet, dass der wahrgenommene Volumenanstieg gleich ist, wenn die Lautstärke von 0x5000 auf 0x6000 erhöht wird, wie von 0x4000 auf 0x5000.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mmeapi.h (einschließlich Windows.h)
Bibliothek Winmm.lib
DLL Winmm.dll

Weitere Informationen

Waveform Audio

Wellenformfunktionen