Styring af lyd i Vista

Tags:    delphi

Hej

Er der nogen som har erfaring med at kunne styre lydniveauet med Delphi 7 i Vista?

Mik D.



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Benyt en trackbar med max til 19

case TrackBar1.Position of
1: waveOutSetVolume(0, $FFFFFFFF);
2: waveOutSetVolume(0, $FFF0FFF0);
3: waveOutSetVolume(0, $FFF0FFF0);
4: waveOutSetVolume(0, $FF00FF00);
5: waveOutSetVolume(0, $F000F000);
6: waveOutSetVolume(0, $E000E000);
7: waveOutSetVolume(0, $D000D000);
8: waveOutSetVolume(0, $C000C000);
9: waveOutSetVolume(0, $B000B000);
10: waveOutSetVolume(0, $A000A000);
11: waveOutSetVolume(0, $90009000);
12: waveOutSetVolume(0, $70007000);
13: waveOutSetVolume(0, $60006000);
14: waveOutSetVolume(0, $50005000);
15: waveOutSetVolume(0, $30003000);
16: waveOutSetVolume(0, $40004000);
17: waveOutSetVolume(0, $20002000);
18: waveOutSetVolume(0, $10001000);
19: waveOutSetVolume(0, $00000000);


Husk også at sætte MMSystem i userlisten



Det var da en frygtelig masse kode til at gøre det. Kunne man ikke bare sige:
waveOutSetVolume(0, $FFFFFFFF-Round($FFFFFFFF/TrackBar1.Max*TrackBar1.Position));
Har ikke kodet Pascal længe, men det burde virke, teoretisk set :).



Indlæg senest redigeret d. 20.03.2008 13:20 af Bruger #2330
Hej

Desværre nej.

Problemet er netop at WaveOutSetVolume(0,VolumeLevel) ikke virker i Vista. Eller der skal mere til før det virker som i XP og bagud.

Mik D.



Hej

Desværre nej.

Problemet er netop at WaveOutSetVolume(0,VolumeLevel) ikke virker i Vista. Eller der skal mere til før det virker som i XP og bagud.

Mik D.


Hej Mik
Så vidt jeg har forstået virker MMSystem ikke på "Master Volume" i Vista. "http://www.torry.net/quicksearchd.php?String=taudiomixer&Title=Yes" demonstrerer dette.
I følge en vis Larry Ostermann fra Microsoft kan dog man anvende interfacet IMMAudioEndpointVolume i MMDEVAPI.dll.

Import af biblioteket i Delphi 5/7 fejler dog.

Så - jeg ved heller ikke lige hvad der skal gøre for at få det til at virke.

mvh Henrik









t