Mega Code Archive

 
Categories / Delphi / Multimedia
 

Adjust the volume of audio in devices

Title: adjust the volume of audio in devices? { The following example demonstrates getting and setting the volume for the first CDAudio and LineIn device found. Note that both left and right channels are supported. The volume range is from 0 to 65535. Example: } 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;