В настоящее время используется флаттер video_player
плагин для потокового видео по указанной ссылке. Проблема в том, что мне пришлось скрыть обычный интерактивный видеоинтерфейс, чтобы пользователь не мог пропустить видео. Теперь большая часть работы выполнена, просто нужно знать, как отобразить duration
и current position
видео, которое было воспроизведено.
videoController.value.duration.inSeconds
дает мне часть duration
, а videoController.value.position
дает секция position. But how to keep updating the results for the
position`?
void checkTimer(){
if(playerController.value.position == playerController.value.duration){
setState(() {
Duration duration = Duration(milliseconds: playerController?.value?.position?.inMilliseconds?.round());
nowTime = [duration.inHours, duration.inMinutes, duration.inSeconds]
.map((seg) => seg.remainder(60).toString().padLeft(2, '0'))
.join(':');
});
}
код выше был создан для обновления времени по мере необходимости. но теперь вопрос в том, как обновить время. я должен использовать setState()
или что-то еще, потому что приведенный выше код не работает для меня.
Видео не загружается там, где загружается экран. Он загружается, когда пользователи нажимают кнопку воспроизведения. поэтому до этого времени у нас даже нет значения duration
, поскольку данные все еще находятся в пути.