Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И вновь перемотка ...... (да она самая) [D7, WinXP]


Ламерёнок ©   (2008-06-04 15:26:00) 

Привет всем ! Пишу плеер  , начал писать перемотку  воот как я это сделал
//Кнопка Play
procedure TForm6.Image4Click(Sender: TObject);
begin
if (listbox1.itemindex=-1) then begin
listbox1.ItemIndex:=0;
end;
If listbox1.Items.Text = '' then begin
form4.Label1.caption:='Вы не открытли список медиа файлов';
form4.Timer1.Enabled:=false;
form4.Timer1.Enabled:=true;
form4.Show;
label1.Caption:='Ошибка';
exit;
end;
If FileExists(ListBox1.items[Listbox1.ItemIndex])=false then begin
form4.Label1.caption:='Не могу найти файл';
form4.Timer1.Enabled:=false;
form4.Timer1.Enabled:=true;
form4.Show;
label1.Caption:='Нету такого файла';
exit;
end;
If ListBox1.items[Listbox1.ItemIndex]=MediaPlayer1.FileName then  begin
MediaPlayer1.Play;
exit;
end;
If (ExtractFileExt(ListBox1.items[Listbox1.ItemIndex])='.mp3')or(ExtractFileExt(Lis tBox1.items[Listbox1.ItemIndex])='.wav')or(ExtractFileExt(ListBox1.items[Listbox 1.ItemIndex])='.wave')or(ExtractFileExt(ListBox1.items[Listbox1.ItemIndex])='.Mp 3')or(ExtractFileExt(ListBox1.items[Listbox1.ItemIndex])='.MP3')or(ExtractFileEx t(ListBox1.items[Listbox1.ItemIndex])='.wmv')or(ExtractFileExt(ListBox1.items[Li stbox1.ItemIndex])='.avi') then begin
Numberofmusic:=ListBox1.ItemIndex;
MediaPlayer1.filename:=ListBox1.Items[ListBox1.itemIndex];
form4.Label1.caption:=ExtractFileName(MediaPlayer1.FileName);
form4.Timer1.Enabled:=false;
form4.Show;
Form6.Show;
Form4.Timer1.Enabled:=true;
label1.Caption:=ExtractFileName(MediaPlayer1.FileName);;
MediaPlayer1.Open;
MediaPlayer1.Play;
timer1.Enabled:=true;
TrackBar1.Max:=MediaPlayer1.Length;// определение длины файла , это та строчка ради которой писал всю процедуру....
exit;
end else

label1.Caption:='Не известный тип файла ';
form4.Label1.caption:='Не известный тип файла ';
form4.Timer1.Enabled:=false;
form4.Timer1.Enabled:=true;
form4.Show;
end;

procedure Tform6.TrackChange(Sender: TObject);
begin
 mediaplayer1.Position:=trackbar1.Position;
 mediaplayer1.Play;
 end;

procedure TForm6.Timer1Timer(Sender: TObject);//А воот эта фиговина мне и ненравится
begin
label2.Caption:=inttostr(MediaPlayer1.Position div 10);
TrackBar1.position:=MediaPlayer1.position
end;
Так воот Проблемма заключается в искаверкивании музыки в таймере , она происходит потому что ползунок двигается и обробатывается Trackbar1.change ....


ЮЮ   (2008-06-05 09:57:00) [1]

> procedure TForm6.Timer1Timer(Sender: TObject);//А воот эта фиговина мне и ненравится
> begin
> label2.Caption:=inttostr(MediaPlayer1.Position div 10);
  TrackBar1.OnChange := nil;
 try

>   TrackBar1.position:=MediaPlayer1.position
  finally
   TrackBar1.OnChange := TrackChange;  
 end;

> end;


Сергей М.   (2008-06-04 19:26:00) [2]


> If (ExtractFileExt(ListBox1.items[Listbox1.ItemIndex])='.
> mp3')or(ExtractFileExt(Lis tBox1.items[Listbox1.ItemIndex])='.
> wav')or(ExtractFileExt(ListBox1.items[Listbox 1.ItemIndex])='.
> wave')or(ExtractFileExt(ListBox1.items[Listbox1.ItemIndex])='.
> Mp 3')or(ExtractFileExt(ListBox1.items[Listbox1.ItemIndex])='.
> MP3')or(ExtractFileEx t(ListBox1.items[Listbox1.ItemIndex])='.
> wmv')or(ExtractFileExt(ListBox1.items[Li stbox1.ItemIndex])='.
> avi') then begin


> Блин ... недописал


Пиши исчо !
Оч интересно читать.


Ламерёнок   (2008-06-04 16:02:00) [3]

Кто-нибудь может помочь мне ? Если моя процедура перемотки фиговая , вы можете дать другую.... 100% рабочую


Ламерёнок   (2008-06-04 15:29:00) [4]

Блин ... недописал , Как сделать так чтобы в TrackBar ползунок двигался таймером не коверкая при этом качество звука


Наверх

Титульная страница Поиск, карта сайта Написать письмо