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,可以手动下载Central Repository: org/jellyfin/exoplayer/exoplayer-ffmpeg-extension
喜欢自己编译也可以,这里有别人提供好的