fijkplayer
fijkplayer copied to clipboard
循环播放m3u8格式视频第一次播放完成后卡住不动
楼主好:
我用的版本fijkplayer: ^0.10.0开发,进行m3u8格式视频循环播放,在Android和iOS上面都会出现第一次播放完成后卡住不动。以下是相关代码和错误日志,还请查看,谢过。
await videoPlayer.setDataSource(videoUrl, autoPlay: true);
await videoPlayer.setLoop(0);
await videoPlayer.setOption(FijkOption.playerCategory, "enable-accurate-seek", 1);
错误日志: ] E/IJKMEDIA(16270): http://xxxxxxxx/qp9AQbC6F.m3u8: error while seeking [ ] D/IJKMEDIA(16270): FFP_MSG_BUFFERING_START: [ ] D/IJKMEDIA(16270): ffp_toggle_buffering_l: end [ ] D/IJKMEDIA(16270): ijkmp_get_msg: FFP_MSG_SEEK_COMPLETE [ ] D/IJKMEDIA(16270): FFP_MSG_SEEK_COMPLETE: [ ] D/IJKMEDIA(16270): FFP_MSG_BUFFERING_END: [ +40 ms] I/flutter (16270): [dbg] 2021-11-26 14:24:41.769790 [fijk] FijkPlayer{id:2} freeze start [ ] I/flutter (16270): [dbg] 2021-11-26 14:24:41.773595 [fijk] FijkPlayer{id:2} freeze end [ +182 ms] D/IJKMEDIA(16270): ffp_toggle_buffering_l: start
我也遇到了类似问题,楼主有解决吗
@luqiuan 有个小方案可以参考一下: await videoPlayer.setOption(FijkOption.playerCategory, "enable-accurate-seek", 1); initializePlayerFuture = videoPlayer.setDataSource(videoUrl, autoPlay: true); videoPlayer.addListener(() async { if (videoPlayer.state == FijkState.completed) { await videoPlayer.seekTo(1); await videoPlayer.pause(); await videoPlayer.start(); } });