initVideoPlayer method
Future<void>
initVideoPlayer({
- required String link,
- int? quality,
- List<
VideoQuality> ? videoQualities, - Duration? seekPosition,
Implementation
Future<void> initVideoPlayer({required String link,int? quality,
List<VideoQuality>? videoQualities, Duration? seekPosition}) async {
enableWakeLock();
emit(VideoLoading());
try {
_controller?.dispose();
} catch (e) {
}
_controller = VideoPlayerController.networkUrl(Uri.parse(
link))
..initialize().then((_) {
if(!isClosed) {
_controller!.play();
if(seekPosition!=null){
_controller!.seekTo(seekPosition);
}
_showControls=false;
emit(VideoInitialized(videoPlayerController: _controller!,
showControls: _showControls,videoQualities: videoQualities,currentQuality: quality));
}
},onError: (_){
if(!isClosed){
emit(VideoError(link));
}
});
_controller!.addListener(() async {
if(_controller!.value.isPlaying && _showControls && !_isControlChecking){
_isControlChecking=true;
await Future.delayed(const Duration(seconds: 3));
_isControlChecking=false;
if(_controller!.value.isPlaying && _showControls && !isClosed){
_showControls=!_showControls;
emit(VideoInitialized(videoPlayerController: _controller!,
showControls: _showControls,videoQualities: [],currentQuality: quality));
}
}
});
}