写在前面的话
- 对App视频播放模块进行扩展,需要自定义播放器的样式、监听视频播放过程中各种事件(播放开始、暂停、重新播放、结束、拖拽进度条、横竖屏切换等)、横竖屏切换、手动控制播放进度等。
- 自定义功能性、扩展性较好的视频播放模块。初次技术选型时利用github上比较流行的JieCaoVideoPlayer进行二次开发,基本实现了功能需求,但缺点也比较明显:1.机型及视频兼容性差,2.扩展性不佳,3.bug较多,故放弃之。
- 最后选用Google"亲儿子"视频播放框架Exoplayer,配合第三方库Exomedia进行扩展开发,完全实现了项目需求,并达到了较好的兼容性及播放效果。
相关链接
exoplayer
- exoplayer https://github.com/google/ExoPlayer
- exoplayer 官方开发指导 https://google.github.io/ExoPlayer/guide.html
- exoplayer 文档 http://google.github.io/ExoPlayer/doc/reference/
exomedia
- exomedia https://github.com/brianwernick/ExoMedia
- exomedia 文档 https://devbrackets.com/dev/libs/docs/exomedia/4.0.0/index.html
基本使用
添加依赖
compile 'com.google.android.exoplayer:exoplayer:r2.4.1'
compile 'com.devbrackets.android:exomedia:4.0.2'
AndroidManifest
- 权限 联网/更改设置
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name=