Форум: "Media";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
ВнизПроблема с TrackBar и Timer одновременно Найти похожие ветки
← →
JaspeR © (2006-03-06 10:25) [0]procedure TForm1.Timer3Timer(Sender: TObject);
begin
if mediaplayer1.FileName<>"" then
begin
trackbar2.Position:=mediaplayer1.Position;
label4.Caption:= floattostrf(100/mediaplayer1.Length*mediaplayer1.Position,ffFixed,0,0);
end;
end;
как вы поняли, это регулятор положения.
Только с ним воспроизведение тормозит!!!
как сделать, чтоб не тормозило???
← →
Locke © (2006-03-08 00:46) [1]та же фигня ,кто поможет?
← →
Virgo_Style © (2006-03-08 22:24) [2]*телепатирует*
а в TrackBar2.OnChange у вас, наверное, MediaPlayer1.Position := TrackBar2.Position, да?
← →
x.pro (2006-03-09 08:06) [3]я тоже на такие грабли натыкался когда был молод :) и скорее всего Virgo_Style прав.
← →
Locke © (2006-03-09 11:49) [4]да именно так)) подскажите как изменить??
← →
Locke © (2006-03-10 00:53) [5]падскажите как исправить проблему)
← →
Locke © (2006-03-10 16:34) [6]ап хелп
← →
Virgo_Style © (2006-03-11 10:47) [7]Шли годы. Смеркалось (с).
Что происходит? Происходит вот что.
В Timer3Timer происходит смещение TrackBar2, поэтому вызывается
TrackBar2.OnChange, которая, в свою очередь, меняет MediaPlayer.Position.
Перемотка же - процесс небыстрый, отсюда тормоза.
Что надо сделать? Очевидно, надо сделать так, чтобы при изменении TrackBar.Position в TimerTimer не изменялся MediaPlayer.Position.
Как?
Вариант номер раз: ввести флажок, напр. IgnoreTrackChange, и перед изменением TrackBar.Position выставлять его в True; а в TrackBar.OnChange, если флажок взведен (true) - сбрасывать его, и ничего больше не делать.
Вариант номер два: перед изменением TrackBar.Position делать TrackBar.OnChange:=nil;, а после - TrackBar.OnChange:=TrackBarOnChange;
Вариант номер 3, за работоспособность не ручаюсь - проверять в TrackBar.OnChange, насколько сильно отличаются Position, и если чуть-чуть, то ничего не делать.
← →
antonn © (2006-03-11 11:15) [8]или использовать другой "ползунок", например TSlider (slider.pas, в инете должен быть), у него раздельные события перетаскивания и перемещения
← →
Locke © (2006-03-11 15:20) [9]спасибо
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c