|
|
#1
|
||||
|
||||
TrackBar - HELP!!
У меня следующая проблема.В моем плеере (TMediaPlayer) я использую перемотчик с помощью Trackbar.
Вот мой код: procedure TMPGrand.TrackBar2Change(Sender: TObject); begin MediaPlayer1.Position := TrackBar2.Position; MediaPlayer1.Play; end; ///////////////////////////////////////////////// procedure TMPGrand.Timer2Timer(Sender: TObject); begin Trackbar2.Position:=MediaPlayer1.Position; end; Всё отлично ходит и перематывает но...Через каждую секунду медиаплеер тащит за собой TrackBar. НО при этом происходит заикание!Пробовал изминить значение Timer.Interval на 3000. А ТОЛКУ!Теперь заикается через 3 секунды!Дайте пожалуста хороший код! |
#2
|
||||
|
||||
Естественно будет заикание, ты ведь заставляешь MediaPlayer начинать воспроизведение при каждом изменении позиции TrackBar'а. А MediaPlayer.Play нужно вызывать только тогда, когда ты вручную изменил позицию TrackBar'а. Тут подошло бы событие OnMouseUp, но вот беда, у стандартного TrackBar'а его нет. Выход - создать свой компонент, наследник TrackBar, и определить в нем событие OnMouseUp. Тогда нужный тебе код будет выглядеть так:
Код:
procedure TForm1.TrackBar1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin MediaPlayer1.Position := TrackBar1.Position; MediaPlayer1.Play; end; Можешь воспользоваться моим компонентом, в котором добавлено несколько событий для мыши, в том числе и OnMouseUp - http://decoding.narod.ru/download/my...tetrackbar.zip. |
#3
|
||||
|
||||
ThankYOU
Спасибо тебе большое!Слушай а где есть редактор объектов?
|
#4
|
||||
|
||||
О каких объектах идет речь? Может тебе подойдет Tools -> Image Editor...
|
#5
|
||||
|
||||
Слушай у тебя на сайте есть компонент xitrackbar.zip но у него событие только OnChange!Ты не мог бы сделать ему OnMouseUp!
|
#6
|
||||
|
||||
|