Flutter Android端video_player+chewie播放HLS视频seek后无限缓冲问题求助
Flutter Android端video_player+chewie播放HLS视频seek后无限缓冲问题求助
我在Flutter项目里用video_player搭配chewie做了个视频播放器,主要用来播放网络上的HLS格式视频。平时播放都挺正常,但只要一拖动进度条(seek到某个指定位置),视频就开始无限缓冲——哪怕之前还在正常播放,到最后连播放/暂停按钮都变得无法操作了。更头疼的是,这个问题只在Android端出现,iOS上完全没这个异常。
我自己先做了一些排查:
- 一开始怀疑是HLS视频源本身损坏,但专门用在线HLS播放器测试过这些视频,播放和seek都完全正常,排除了视频源的问题;
- 查资料后了解到,Flutter的
video_player在Android底层是基于ExoPlayer实现的,而ExoPlayer确实存在一些HLS格式的兼容性已知问题; - 也尝试过替换其他Flutter视频播放器包,比如vlc、better_player,但要么和我项目里的其他依赖包冲突,要么项目维护状态堪忧,要么缺少我APP必需的功能,都没法直接替换使用。
有没有大佬遇到过类似的问题?或者有什么针对性的解决思路或办法吗?非常感谢大家的反馈!
内容来源于stack exchange




