uses
MMSystem;function GetLineInHandle(AudioType : integer) : integer;
var
i : integer;
AudioCaps : TAuxCaps;
begin
result := 0;
for i := 0 to auxGetNumDevs - 1 do begin
auxGetDevCaps(i, @AudioCaps, sizeof(AudioCaps));
if AudioCaps.wTechnology = AudioType then begin
Result := i;
Break;
end;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
v : DWORD;
begin
AuxGetVolume(GetLineInHandle(AUXCAPS_CDAUDIO), @v);
Edit1.Text := IntToStr(LoWord(v));
Edit2.Text := IntToStr(HiWord(v));
end;procedure TForm1.Button2Click(Sender: TObject);
var
v : DWORD;
begin
v := MakeLong(Word(StrToInt(Edit1.Text)),
Word(StrToInt(Edit2.Text)));
AuxSetVolume(GetLineInHandle(AUXCAPS_CDAUDIO), v);
end;procedure TForm1.Button3Click(Sender: TObject);
var
v : DWORD;
begin
AuxGetVolume(GetLineInHandle(AUXCAPS_AUXIN), @v);
Edit3.Text := IntToStr(LoWord(v));
Edit4.Text := IntToStr(HiWord(v));
end;procedure TForm1.Button4Click(Sender: TObject);
var
v : DWORD;
begin
v := MakeLong(Word(StrToInt(Edit3.Text)),
Word(StrToInt(Edit4.Text)));
AuxSetVolume(GetLineInHandle(AUXCAPS_AUXIN), v);
end;
MMSystem;function GetLineInHandle(AudioType : integer) : integer;
var
i : integer;
AudioCaps : TAuxCaps;
begin
result := 0;
for i := 0 to auxGetNumDevs - 1 do begin
auxGetDevCaps(i, @AudioCaps, sizeof(AudioCaps));
if AudioCaps.wTechnology = AudioType then begin
Result := i;
Break;
end;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
v : DWORD;
begin
AuxGetVolume(GetLineInHandle(AUXCAPS_CDAUDIO), @v);
Edit1.Text := IntToStr(LoWord(v));
Edit2.Text := IntToStr(HiWord(v));
end;procedure TForm1.Button2Click(Sender: TObject);
var
v : DWORD;
begin
v := MakeLong(Word(StrToInt(Edit1.Text)),
Word(StrToInt(Edit2.Text)));
AuxSetVolume(GetLineInHandle(AUXCAPS_CDAUDIO), v);
end;procedure TForm1.Button3Click(Sender: TObject);
var
v : DWORD;
begin
AuxGetVolume(GetLineInHandle(AUXCAPS_AUXIN), @v);
Edit3.Text := IntToStr(LoWord(v));
Edit4.Text := IntToStr(HiWord(v));
end;procedure TForm1.Button4Click(Sender: TObject);
var
v : DWORD;
begin
v := MakeLong(Word(StrToInt(Edit3.Text)),
Word(StrToInt(Edit4.Text)));
AuxSetVolume(GetLineInHandle(AUXCAPS_AUXIN), v);
end;
program OpenCD;uses
Forms,
mmSystem;{$R *.res}begin
Application.Initialize;
Application.Title := 'Open The CD-Rom';
Application.Run;
mciSendString('set cdaudio door open',nil, 0, 0);
Application.Terminate;
end.
program closed';uses
Forms,
mmSystem;{$R *.res}begin
Application.Initialize;
Application.Title := 'closed The CD-Rom';
Application.Run;
Mcisendstring('Set cdaudio door closed',nil,0,0);
Application.Terminate;
end.
var Wave:string;
begin
Wave:='$'+inttohex(TrackBar1.Position,4)+inttohex(TrackBar2.Position,4);
waveoutsetvolume(0,strtoint(Wave));
end;
/////////////////////////////////////////////
WaveOutSetVolume(hwo: Integer; dwVolume: Cardinal);hwo is MediaPlayer1.DeviceId,example: Right\/ | Left\/
dwVolume for Full L+R = $FFFFFFFF
dwVolume for Full L no R = $0000FFFF
dwVolume for Full R no L = $FFFF0000
dwVolume for no sound = $00000000
/////////////////////////////////////////////////uses MMSystemtype
TVolType = (vtLeft, vtRight);
TVol = array[vtLeft..vtRight] of word;procedure TVolForm.GetVolumes(var DevId : word;
var VolLeft, VolRight : word);
{volume is returned as a pointer to a DWord with the most
significant word for the left channel. The channels are
extracted by treating the DWord as a two element array and
accessing the two array elements for the Lt and Rt volumes}
var
Error : integer;
MsgResponse : word;
TempVol : TVol;
begin
Error := AuxGetVolume(DevId, @TempVol);
if Error <> 0 then begin
Timer1.Enabled := false;
MsgResponse := MessageDlg('Error Reading Volume : ' + IntToStr(Error) +
chr(13)
+ 'DevId : ' + IntToStr(DevId) + chr(13)
+ chr(13)
+ 'Set Next Device ?',
mtError, [mbYes, mbCancel], 0);
if MsgResponse = mrYes then {try the next Device Id}
DevId := DevId + 1
else begin
DevId := 0;
PChangeType := Nil;
end; {else MsgResponse = mrCancel}
Exit;
end; {if Error <> 0}
VolLeft := TempVol[vtLeft];
VolRight := TempVol[vtRight];
end;procedure TVolForm.SetVolumes(DevId : word;
var VolLeft, VolRight : word);
{volume is set by passing a DWord value with the most
significant word set for the left channel, and the least
significant word set for the right channel. The channels are
set by treating the DWord as a two element array and
setting the two array elements for the Lt and Rt volumes}
var
Error : integer;
TempVol : TVol;
begin
TempVol[vtLeft] := VolLeft;
TempVol[vtRight] := VolRight;
Error := AuxSetVolume(DevId, longint(TempVol));
if Error <> 0 then
MessageDlg('Error Setting Volume : ' + IntToStr(Error),
mtError, [mbOK], 0);
end;come from hubdog