Отслеживать прогресс Flutter видео плеер
Привет, я использую плагин для видеопроигрывателя, у меня что-то похожее [{phrase:"something", startAt: 1039}, {phrase:"other somthing", startAt: 26500}]
Есть ли способ изменить фразу в зависимости от времени начала во время воспроизведения видео.
Я пытался использовать таймер продолжительностью 100 мс, но я не могу определить точное время из плагина видеоплеера Flutter.
1 ответ
Возможно, вы захотите взглянуть на виджеты с сохранением состояния, поскольку они позволяют вам делать именно это. Короче говоря, вы можете установить phrase
быть некоторой переменной, и как только видео начинается, вы можете позвонить setState
и измените переменную. Флаттер автоматически перерисовает виджет и текст будет обновлен.
Чтобы определить, воспроизводится ли видеопроигрыватель, вы можете добавить слушателя в свой видеоконтроллер.
_controller = VideoPlayerController.network(
'http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_20mb.mp4',
)
..addListener(() {
final bool isPlaying = _controller.value.isPlaying;
if (isPlaying != _isPlaying) {
setState(() {
_isPlaying = isPlaying;
});
}
})
..initialize().then((_) {
// Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
setState(() {});
});