@@ -76,7 +76,7 @@ class VlcPlayerWithControlsState extends State<VlcPlayerWithControls>
7676 super .dispose ();
7777 }
7878
79- Future < void > listener () async {
79+ void listener () {
8080 if (! mounted) return ;
8181 //
8282 if (_controller.value.isInitialized) {
@@ -86,39 +86,47 @@ class VlcPlayerWithControlsState extends State<VlcPlayerWithControls>
8686 if (oDuration.inHours == 0 ) {
8787 final strPosition = oPosition.toString ().split ('.' ).first;
8888 final strDuration = oDuration.toString ().split ('.' ).first;
89- position =
90- "${strPosition .split (':' )[1 ]}:${strPosition .split (':' )[2 ]}" ;
91- duration =
92- "${strDuration .split (':' )[1 ]}:${strDuration .split (':' )[2 ]}" ;
89+ setState (() {
90+ position =
91+ "${strPosition .split (':' )[1 ]}:${strPosition .split (':' )[2 ]}" ;
92+ duration =
93+ "${strDuration .split (':' )[1 ]}:${strDuration .split (':' )[2 ]}" ;
94+ });
9395 } else {
94- position = oPosition.toString ().split ('.' ).first;
95- duration = oDuration.toString ().split ('.' ).first;
96+ setState (() {
97+ position = oPosition.toString ().split ('.' ).first;
98+ duration = oDuration.toString ().split ('.' ).first;
99+ });
96100 }
97- validPosition = oDuration.compareTo (oPosition) >= 0 ;
98- sliderValue = validPosition ? oPosition.inSeconds.toDouble () : 0 ;
101+ setState (() {
102+ validPosition = oDuration.compareTo (oPosition) >= 0 ;
103+ sliderValue = validPosition ? oPosition.inSeconds.toDouble () : 0 ;
104+ });
99105 }
100- numberOfCaptions = _controller.value.spuTracksCount;
101- numberOfAudioTracks = _controller.value.audioTracksCount;
106+ setState (() {
107+ numberOfCaptions = _controller.value.spuTracksCount;
108+ numberOfAudioTracks = _controller.value.audioTracksCount;
109+ });
102110 // update recording blink widget
103111 if (_controller.value.isRecording && _controller.value.isPlaying) {
104112 if (DateTime .now ().difference (lastRecordingShowTime).inSeconds >= 1 ) {
105- lastRecordingShowTime = DateTime .now ();
106- recordingTextOpacity = 1 - recordingTextOpacity;
113+ setState (() {
114+ lastRecordingShowTime = DateTime .now ();
115+ recordingTextOpacity = 1 - recordingTextOpacity;
116+ });
107117 }
108118 } else {
109- recordingTextOpacity = 0 ;
119+ setState (() => recordingTextOpacity = 0 ) ;
110120 }
111121 // check for change in recording state
112122 if (isRecording != _controller.value.isRecording) {
113- isRecording = _controller.value.isRecording;
123+ setState (() => isRecording = _controller.value.isRecording) ;
114124 if (! isRecording) {
115125 if (widget.onStopRecording != null ) {
116126 widget.onStopRecording (_controller.value.recordPath);
117127 }
118128 }
119129 }
120- // ignore: no-empty-block
121- setState (() {});
122130 }
123131 }
124132
0 commit comments