![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
И вновь перемотка ...... (да она самая) [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 ползунок двигался таймером не коверкая при этом качество звука