Delphi World - Установка звука для аудио устройств
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Установка звука для аудио устройств

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  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;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования