Привет, Гость! Регистрация RSS
Понедельник, 29.04.2024
Главная » Статьи » Уроки

Изменение громкости на Delphi

Здравствуйте друзья. Я вот недавно, блуждая в сети интернет, обнаружил, что многие новички в программировании на Delphi озадачены изменением громкости системы в своих приложениях. Если честно, то я сам сталкивался с этой проблемой, когда писал как и все mp3-проигрыватель. Вот сейчас покопался в своих архивах и нашел решение этой весьма интересной задачи.

Но прежде, вспоминая то время, когда сам же искал ответ, хочу отметить, что во многих форумах пишут код весьма замудренным. Это некоторых как бы пугает, якобы те не в состоянии освоить такую "головную боль". Вот поэтому я решил максимально просто показать код процедуры изменения громкости в системе. Забегая вперед, скажу, что ваши лица застынут в улыбке от простоты  решения данной проблемы.
Вот собственно и сам код:

uses
   MMSystem;
 ...
 procedure SetVolume(const volL, volR: Word);
 var
   hWO: HWAVEOUT;
   waveF: TWAVEFORMATEX;
   vol: DWORD;
 begin
  FillChar(waveF, SizeOf(waveF), 0);
  waveOutOpen(@hWO, WAVE_MAPPER, @waveF, 0, 0, 0);
   vol := volL + volR shl 16;
  waveOutSetVolume(hWO, vol);
   waveOutClose(hWO);
 end;

А применение довольно простое. Теперь кидаем на форму TrackBar, в палитре свойств прописываем: min=-65000, max=0.

В событии OnChange пишем:

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  SetVolume(abs(trackbar1.position),abs(trackbar1.position));
end; 
   На этом все. Удачи в программировании!

Война миров Z хорошее качество бесплатно онлайн.

Нравится
Категория: Уроки | Добавил: Dark_Green (13.09.2013)
Просмотров: 5459 | Теги: Изменение громкости на Delphi, setvolume | Рейтинг: 0.0/0

Другие статьи
»
Как из фото сделать видео в программе "ФотоШОУ" (0)
»
Применение ini-файлов в Delphi (1)
»
Рисование при выполнении программы (0)
»
Компонент Shape (0)
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]