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 |
---|---|
|
Das angegebene Gerätehandle ist ungültig. |
|
Es ist kein Gerätetreiber vorhanden. |
|
Speicher kann nicht zugeordnet oder gesperrt werden. |
|
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 |