-
Привет всем ! Пишу плеер , начал писать перемотку воот как я это сделал //Кнопка 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 ....
-
Блин ... недописал , Как сделать так чтобы в TrackBar ползунок двигался таймером не коверкая при этом качество звука
-
Кто-нибудь может помочь мне ? Если моя процедура перемотки фиговая , вы можете дать другую.... 100% рабочую
-
> 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
> Блин ... недописал
Пиши исчо ! Оч интересно читать.
-
> 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;
|