Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.01;
Скачать: CL | DM;

Вниз

Проблема с 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 вся ветка

Текущий архив: 2006.10.01;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.013 c
5-1139491280
Awex
2006-02-09 16:21
2006.10.01
TEditControl


15-1157772748
SergP
2006-09-09 07:32
2006.10.01
Почему нет доступа?


2-1157688808
vodvorezlaya
2006-09-08 08:13
2006.10.01
Подскадите как проверить переменную на соответствие типу


1-1155808591
Dexter12345
2006-08-17 13:56
2006.10.01
Экспорт в OpenDocument через Delphi


1-1156004220
Elf-Eluna-Alina
2006-08-19 20:17
2006.10.01
Вставить текст в RichEdit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский