Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2006, 20:21   #1
}{@KeRnutyi
 
Регистрация: 01.12.2006
Сообщений: 7
Лампочка как сделать в программе регулировку звука

как с помощью trackbar сделать регулировку звука в программе
проигрывающей звук
}{@KeRnutyi вне форума Ответить с цитированием
Старый 01.12.2006, 20:25   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

сторонняя программа? какой компонент?
Alar вне форума Ответить с цитированием
Старый 01.12.2006, 20:28   #3
}{@KeRnutyi
 
Регистрация: 01.12.2006
Сообщений: 7
По умолчанию

я знаю что можно через wavOutvolume но у меня на максимуме trackbar'a
звук выключается вообще вот код :

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, MPlayer, StdCtrls, Gauges, XPMan,MMSYSTEM,
Menus,ExtCtrls, Buttons;

type
TForm1 = class(TForm)
MediaPlayer1: TMediaPlayer;
Label1: TLabel;
Button2: TButton;
Gauge1: TGauge;
OpenDialog1: TOpenDialog;
TrackBar1: TTrackBar;
Label4: TLabel;
XPManifest1: TXPManifest;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Timer1: TTimer;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Panel1: TPanel;
Panel2: TPanel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
volume:longword;
implementation
uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if opendialog1.execute then
mediaplayer1.filename:=opendialog1. filename ;
mediaplayer1.Open;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
volume:longword;
begin
label1.Caption:='00:00';
TrackBar1.Position :=1;
volume := (TrackBar1.max-TrackBar1.Position)*65535;
volume := volume + (volume shl 16);
waveOutSetVolume(WAVE_MAPPER,volume ) ;

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if speedbutton1.Down then
begin
speedbutton1.allowallup:=true;
form2.Show;
end
else begin
speedbutton1.AllowAllUp:=false;
form2.Close;
end;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if speedbutton2.Down then
begin
speedbutton2.allowallup:=true;
form3.Show;
end
else begin
speedbutton2.AllowAllUp:=false;
form3.Close;
end;
end;



procedure TForm1.TrackBar1Change(Sender: TObject);
begin
volume:=(TrackBar1.Position-TrackBar1.Max)*6500;
volume := volume + (volume shl 16);
waveOutSetVolume(WAVE_MAPPER,volume );
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
panel2.Caption:='Дата: '+datetostr(now);
panel1.Caption:='Время: '+timetostr(now);
with MediaPlayer1 do
if FileName<>'' then
Gauge1.Progress:=Round(100*Position/Length);

end;

end.
}{@KeRnutyi вне форума Ответить с цитированием
Старый 01.12.2006, 20:30   #4
}{@KeRnutyi
 
Регистрация: 01.12.2006
Сообщений: 7
По умолчанию

а зачем там умножение на 6500
}{@KeRnutyi вне форума Ответить с цитированием
Старый 01.12.2006, 20:34   #5
}{@KeRnutyi
 
Регистрация: 01.12.2006
Сообщений: 7
По умолчанию

а какой вообще алгоритм регулировки звука в проге
}{@KeRnutyi вне форума Ответить с цитированием
Старый 02.12.2006, 08:27   #6
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

Код:
volume:=(TrackBar1.Position-TrackBar1.Max)*6500;
что-то тут не то
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 02.12.2006, 08:41   #7
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

вот так попробуй
вообще то для регулировки звука есть специальные компоненты которые регулируют звук
Код:
procedure TForm1.TrackBar1Change(Sender: TObject);
var
  volume:DWORD;
begin
  volume := 65000*Round((TrackBar1.Position-TrackBar1.Min)/(TrackBar1.Max-TrackBar1.Min));
  volume := volume +   (volume shl 16);
  waveOutSetVolume(WAVE_MAPPER,volume);
end;
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация звука N!ckeL Общие вопросы Delphi 1 19.06.2008 09:19
Как сделать имитацию хода даты и времени в программе? Bill Gates Общие вопросы Delphi 1 06.01.2008 15:21
Как сделать имитацию хода даты и времени в программе? Bill Gates Общие вопросы Delphi 1 05.01.2008 22:42
Вывод звука. C++ Oznob Помощь студентам 0 04.12.2007 01:43
Воспроизведение звука John_chek Общие вопросы Delphi 5 05.06.2007 15:18