Во многих проигрывателях имеется, так называемый, слайдер доступа или поиска для перехода к тому или иному участку в проигрываемой записи.
VLC в этом отношении ничем не хуже других проигрывателей и, с помощью его SDK, вполне возможно это реализовать.
Для этого снова обратимся к простейшему плееру, который был написан здесь.
Поместим на форму компонент TTrackBar.
Чтобы при воспроизведении нового файла свойство Max у TTrackBar соответствовало его продолжительности, будем задавать значение этого свойства программно в обработчике события OnMediaPlayerLengthChanged компонента TPasLibVlcMediaPlayer.
1 2 3 4 |
procedure TForm1.PlayerMediaPlayerLengthChanged(Sender: TObject; time: Int64); begin SliderTrackBar.Max := Player.GetVideoLenInMs; end; |
В событии OnMediaPlayerTimeChanged реализуем перемещение ползунка в процессе проигрывания записи.
1 2 3 4 5 |
procedure TForm1.PlayerMediaPlayerTimeChanged(Sender: TObject; time: Int64); begin // Перемещение ползунка в процессе воспроизведения SliderTrackBar.Position := Player.GetVideoPosInMs; end; |
Непосредственно сам переход к нужному участку осуществляется в событии OnChange TTrackBar.
1 2 3 4 |
procedure TForm1.SliderTrackBarChange(Sender: TObject);begin if Player.CanSeek() then Player.SetVideoPosInMs(SliderTrackBar.Position); end; |
После этого при перемещении ползунка TTrackBar во время воспроизведения будет происходить переход к соответствующему участку записи.
Добавить комментарий