수강 강의: https://url.kr/inflearn
진도: 61강 / 127강
VideoController.value.position : 현재 진행중인 영상의 position을 불러올 수 있다. (Duration)
VideoController.seekTo(position) : positon에서부터 영상을 실행한다.
currentPosition이 3초가 안된 경우라면 0초로 가도록하고, currentPosition이 3초 이상인 경우에는 3초 전으로 가도록 한다
void onReversePressed() {
final currentPosition = videoConroller!.value.position; // 현재 position
Duation position = Duration(); // 기본값을 0초로 설정. 따라서 3초 이하인 경우에는 0초로 돌아감
if(currentPosition.inSeconds >3){
position = currentPosition - Duration(seconds: 3);
// Reverse 버튼이므로 '현재 position - 3초'를 해줌
}
videoConroller!.seekTo(position);
}
videoController!.value.duration : 현재 영상의 최대값을 가져옴
void onReversePressed() {
final maxPosition = videoController!.value.duration; // 영상의 최대값을 가져옴
final currentPosition = videoConroller!.value.position; // 현재 position
Duation position = Duration();
if((maxPosition - Duration(secondes: 3)).inSeconds > currentPosition.inSeconds){
position = currentPosition + Duration(seconds: 3);
// Reverse 버튼이므로 '현재 position + 3초'를 해줌
}
videoConroller!.seekTo(position);
}
max : videoController!.value.duration
min : Duation position = Duration()
current : VideoController.seekTo(position)
를 이용하여 처음, 현재, 끝의 position을 구하여 Slider에 구현한다
Slider가 움직일 때마다 변하는 값은 currentPosition이다.
videoController.addListener : 실행되고 있는 영상의 position이 바뀔 때마다 실행된다.
따라서, addListener가 될 때마다 Duration currentPosition = Duration();을 해주면 slider에 의해 값이 변경될 때마다 currentPosition도 같이 변경되도록 하게 할 수 있다.