Tan*_*zan 2 dart flutter flutter-dependencies flutter-layout
我想打印视频当前的播放时间(以秒为单位)。但我认为它每秒打印 4 次。 这是 videoPlayerController.addListener 代码。
await videoPlayerController.initialize().then((value) => {
videoPlayerController.addListener(
() {
log(videoPlayerController.value.position.inSeconds.toString);
},
)
});
Run Code Online (Sandbox Code Playgroud)
我希望此 videoPlayerController.value.position.inSeconds 日志每秒仅显示一次。
完整代码
void _initVideoPlayer() async {
var url = await _extractVideoUrl();
log('url $url');
videoPlayerController = VideoPlayerController.network(url);
await videoPlayerController.initialize().then((value) => {
videoPlayerController.addListener(
() {
log(videoPlayerController.value.position.inSeconds.toString);
},
)
});
chewieController = ChewieController(
videoPlayerController: videoPlayerController,
autoPlay: true,
looping: false,
allowedScreenSleep: false,
allowFullScreen: true,
showControls: true,
startAt: _reStoreLastPosition(),
errorBuilder: (context, errorMessage) {
return Center(
child: Text(
errorMessage,
style: const TextStyle(color: Colors.white),
),
);
},
);
setState(() {});
}
Run Code Online (Sandbox Code Playgroud)
收听者将继续收听视频的位置,而不考虑时间。您可以这样做
void _initVideoPlayer() async {
var url = await _extractVideoUrl();
log('url $url');
String lastLoggedTime = "";//<--add a variable here
videoPlayerController = VideoPlayerController.network(url);
await videoPlayerController.initialize().then((value) => {
videoPlayerController.addListener(
() {
if(lastLoggedTime != videoPlayerController.value.position.inSeconds.toString()){
lastLoggedTime = videoPlayerController.value.position.inSeconds.toString(); //<--save it here
log(videoPlayerController.value.position.inSeconds.toString());
}
},
)
});
chewieController = ChewieController(
videoPlayerController: videoPlayerController,
autoPlay: true,
looping: false,
allowedScreenSleep: false,
allowFullScreen: true,
showControls: true,
startAt: _reStoreLastPosition(),
errorBuilder: (context, errorMessage) {
return Center(
child: Text(
errorMessage,
style: const TextStyle(color: Colors.white),
),
);
},
);
setState(() {});
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1466 次 |
最近记录: |