exoplayer是谷歌出品的,不同版本的api变化不少.我用的是2.18.7版本的.因为flutter插件用到这个播放器也是这个版本的.
基于exoplayer的flutter播放器有video_player,betterplayer,这两个比较有名的.先从flutter播放器说起.
如果只是做一个播放示例,这些播放器功能就满足了.通常自己添加亮度,音量的手势控制就差不多了.播放功能是基础功能,但一般商业产品只是基础功能是不够的.
比如字幕功能,杜比音效,5.1,7.1声道这些也很重要的.
使用flutter播放器遇到的问题:
1.内置的字幕显示不了,外挂字幕可以显示.
2.包含ac3,杜比的视频,android系统放不出声音
看过一些资料,尝试各种办法.问题1在flutter上无法解决,exoplayer已经切换了字幕了,但flutter无法展示.也查找了官方文档,但没有官方的flutter相关的文档,结果就是没办法解决.
音频解码,由于exoplayer提供了ffmpeg的扩展,所以这个还比较容易解决.
先解决问题2.
不管是video_player,还是betterplayer,需要自己下载源码,然后添加扩展.
1.先加依赖:
org.jellyfin.exoplayer:exoplayer-ffmpeg-extension:2.18.7+1,可以手动下载
本文介绍了在使用ExoPlayer的Flutter插件video_player和betterplayer时遇到的字幕显示及AC3、杜比音效视频播放无声的问题。问题1,Flutter播放器内置字幕无法显示,而外挂字幕可以。问题2,含ac3、杜比音效的视频在Android系统中无声音。通过查阅资料和使用ExoPlayer的ffmpeg扩展,解决了音频解码问题,需要下载源码并修改扩展渲染器工厂,现在视频播放可以正常听到声音。
订阅专栏 解锁全文
1406

被折叠的 条评论
为什么被折叠?



