Ik ben op zoek naar een manier om het master volume in windows aan te kunnen passen in een eigen programma. Nu heb ik wel wat gevonden maar dat wil niet werken 
Deze code (zonder button 1 t/m 3) heb ik van delphi.about.com maar het wil niet werken.... uit de help heb ik nog "auxGetNumDevs" gehaald en daar krijg ik 0 als result.. geen devices dus?
Op een win98 bak met sb16 krijg ik 7 bij auxgetnumdevs terug (en werkt het instellen van het geluid). Op mijn pc (winxp met sblive) werkt het dus niet. Iemand een idee wat er mis kan zijn?
Het programma wat ik aan het maken ben is voor die win98 bak maar ik vind het toch raar dat dit niet werkt in Winxp met sblive.
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
| unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, MMSystem, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; type TVolumeRec = record case Integer of 0: (LongVolume: Longint); 1: (LeftVolume, RightVolume : Word); end; const DeviceIndex=5; {0:Wave 1:MIDI 2:CDAudio 3:Line-In 4:Microphone 5:Master 6:PC-loudspeaker} var Form1: TForm1; implementation {$R *.dfm} procedure SetVolume(aVolume:Byte); var Vol: TVolumeRec; begin Vol.LeftVolume := aVolume shl 8; Vol.RightVolume:= Vol.LeftVolume; auxSetVolume(UINT(DeviceIndex), Vol.LongVolume); end; function GetVolume:Cardinal; var Vol: TVolumeRec; begin AuxGetVolume(UINT(DeviceIndex),@Vol.LongVolume); Result:=(Vol.LeftVolume + Vol.RightVolume) shr 9; end; procedure TForm1.Button1Click(Sender: TObject); begin showmessage(inttostr(GetVolume)); end; procedure TForm1.Button2Click(Sender: TObject); begin SetVolume(0); end; procedure TForm1.Button3Click(Sender: TObject); begin showmessage(inttostr(auxGetNumDevs)) end; end. |
Deze code (zonder button 1 t/m 3) heb ik van delphi.about.com maar het wil niet werken.... uit de help heb ik nog "auxGetNumDevs" gehaald en daar krijg ik 0 als result.. geen devices dus?
Op een win98 bak met sb16 krijg ik 7 bij auxgetnumdevs terug (en werkt het instellen van het geluid). Op mijn pc (winxp met sblive) werkt het dus niet. Iemand een idee wat er mis kan zijn?
Het programma wat ik aan het maken ben is voor die win98 bak maar ik vind het toch raar dat dit niet werkt in Winxp met sblive.
"Everything I've ever done or said is the complete opposite of what I've wanted" -- George