Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Установка звука для аудио устройств

Delphi , Мультимедиа , Аудио

Установка звука для аудио устройств

Оформил: 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, демонстрирующий получение и установку уровня громкости для аудиоустройств, в частности, для устройств CD Audio (CDAudio) и Line In. Код использует модуль MMSystem из Windows API.

Функция GetLineInHandle Эта функция принимает параметр AudioType, который может быть либо AUXCAPS_CDAUDIO, либо AUXCAPS_AUXIN, и возвращает.handle первого устройства, найденного, которое соответствует указанному типу аудио. Функция проходит по всем доступным устройствам с помощью auxGetNumDevs и auxGetDevCaps, и проверяет, если устройство имеет технологию, соответствующую указанному типу аудио.

Процедура Button1Click Эта процедура получает уровень громкости для устройства CD Audio с помощью AuxGetVolume. Уровень громкости хранится в переменной DWORD v, которая затем разбивается на низшую часть слова (левый канал) и высокую часть слова (правый канал). Значения отображаются в двух редактируемых полях, Edit1 и Edit2.

Процедура Button2Click Эта процедура устанавливает уровень громкости для устройства CD Audio с помощью AuxSetVolume. Значение уровня громкости строится из значений, введенных в Edit1 и Edit2, которые представляют собой низшую часть слова (левый канал) и высокую часть слова (правый канал), соответственно. Обновленное значение уровня громкости затем устанавливается с помощью AuxSetVolume.

Процедура Button3Click Эта процедура получает уровень громкости для устройства Line In с помощью AuxGetVolume. Уровень громкости хранится в переменной DWORD v, которая затем разбивается на низшую часть слова (левый канал) и высокую часть слова (правый канал). Значения отображаются в двух редактируемых полях, Edit3 и Edit4.

Процедура Button4Click Эта процедура устанавливает уровень громкости для устройства Line In с помощью AuxSetVolume. Значение уровня громкости строится из значений, введенных в Edit3 и Edit4, которые представляют собой низшую часть слова (левый канал) и высокую часть слова (правый канал), соответственно. Обновленное значение уровня громкости затем устанавливается с помощью AuxSetVolume.

В целом, этот код предоставляет пример основного использования модуля MMSystem в Delphi для взаимодействия с аудиоустройствами.

Статья описывает пример установки звука для аудио устройств в Delphi, включая получение и установку громкости для первого устройства CDAudio и LineIn.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Аудио ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 17:06:48/0.003216028213501/0