Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

GesamtVolumen-Lautstärkeeinstellung in C/C++...

Mdl / 4 Antworten / Flachansicht Nickles

Ich suche für den XP eine Möglichkeit das GesamtVolumen von einem Programm aus einzustellen.

Mit Gesamtvolumen meine ich den Regler, der erscheint, wenn ich einmal auf den kleinen Lautsprecher in der Toolbar klicke. Oder, wenn ich zweimal darauf klicke, unter dem Regler 'Summe'.

Habe im Internet schon geschaut und ausprobiert. Das meiste hat nicht funktioniert. Vielleicht hat sich da ja was geändert zwischen den einzelnen Windows-Systemen.

Was funktioniert hat war


#include "mmsystem.hpp"
//
WORD volume=65535; //0..65535
//
TWaveOutCaps MyWaveOutCaps;
if(waveOutGetDevCapsW(WAVE_MAPPER, &MyWaveOutCaps, sizeof(MyWaveOutCaps))==MMSYSERR_NOERROR)
waveOutSetVolume((void *)WAVE_MAPPER, (DWORD(volume)*65536)|DWORD(volume));

nur, dass dies lediglich den WAVE-Regler entsprechend setzt.

Ist z.B. der 'Summen'-Regler auf 0, so ist die Position des WAVE-Reglers irrelevant: Es wird kein Sound ausgegeben.

Ich könnte mir vorstellen, dass in den Zeilen oben nur ein Parameter geändert werden muss, hatte aber mit meinen Versuchen bisher kein Glück...

Vielen Dank,

Mdl


bei Antwort benachrichtigen