昨天研究了 Android 使用Vitamio实现播放视频(一) 但是有些其他原因,虽然好用,但是还是找了其他一些开源的。
就找到了:VDPlayerSDK
两者比较而言,个人认为
- Vitamio 代码简洁,集成方便。
- VDPlayerSDK 实现功能多,但是使用复杂。
VDPlayerSDK 项目地址:https://github.com/SinaVDDeveloper/
使用复杂度,在这里就体现出来了。
- 首先,你需要先导入core : https://github.com/SinaVDDeveloper/sinavideo_playercore
- 接着导入:https://github.com/SinaVDDeveloper/sinavideo_playersdk 导入sinavideo_playersdk后,选中sinavideo_playercore作为library
- 最后在你的项目中选中sinavideo_playersdk作为library
对了sinavideo_playercore和sinavideo_playersdk的android API要选择4.4w 就是API 20
否则一些代码会异常。
我测试的在4.0以上的手机使用是没问题的。
4.0一下请自行测试。
你也可以导入作者自己写的DEMO:https://github.com/SinaVDDeveloper/demo
里面写了多个DEMO,分析起来麻烦
1、在复制layout的时候,你会发现layout报错
error: No resource identifier found for attribute 'layerAttrs' in package 'xxxxx.xxx.xxx.x'
此时我们需要将
xmlns:app=”http://schemas.android.com/apk/res/xxxx”
更改为
xmlns:app=”http://schemas.android.com/apk/res/包名”
2、播放器初始化,要在app启动前进行初始化,才能解压出相应的解码器。参考MyApplication.java
3、需要导入权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
代码较多,请下载Demo查看
https://github.com/Mr-Sang/VDPlayerSDKDemo
基本上复制过去就能用,稍微改改链接地址就行了。
原作者:https://github.com/SinaVDDeveloper/sinavideo_playersdk