Android播放SDK 2.0
一、产品概述
北京中投视讯 Android 播放 SDK2.0 特有的直播优化策略能提供一流的直播体验,为 Android开发者提供简单、快捷的接口,帮助开发者实现 Android 平台上的多媒体播放应用
二、版本更新说明
Android CNVideo 2.0 , 2016年11月23日官方发布2.0版本。2017年5月18日官方发布2.1版本。2017年6月22日官方发布2.2版本主要更新如下:
1、播放器创建方法改变
2、设置直播方法改变
3、设置点播方法改变
4、设置播放器解码模式
5、视频reload
6、设置播放器镜像
7、无缝切换视频
8、视频缓存
三、SDK功能说明
- 接口定义与 Android 系统播放器 MediaPlayer 保持一致
- 提供 VideoView 控件
- 支持首屏秒开
- 支持直播追赶(RTMP 和 HTTP+FLV),降低主播和观众的延迟
- 支持 RTMP 和 HTTP+FLV 直播方式
- 点播库支持多种格式(RMVB、AVI、MKV)
- 支持软解和 MediaCodec 硬解
- 支持视频旋转(0/90/180/270 度)
- 支持播放截图
- 支持视频画面缩放模式
- 支持镜像播放
- 支持获取本地视频信息与视频缩略图
- 支持获取视频原始数据
- 支持音量调节,可静音播放
- 支持后台播放
- 支持纯音频播放
- 支持 H.265/HEVC 播放
- 支持在线查看文档
- 支持反交错功能
支持音量放大,最大可以放大两倍支持的文件封装格式和音视频编码标准如下所示:
| 信息 | 格式 |
|---|---|
| 流协议 | HLS, RTMP, RTSP, HTTP, HTTPS, FILE |
| 封装格式 | FLV, TS, MPEG, MOV, M4V, MP3, AAC, GIF, ASF, RM, MKV, AVI, WEBM |
| 视频编码格式 | H263, H264, H265, MPEG1, MPEG2, MPEG4, MJPEG, VC-1, WMV, RV40, PNG, JPEG, YUV, WEBP, TIFF, VP* |
| 音频编码格式 | AAC, MP3, NELLYMOSER, AMRNB, AMRWB, WMV1, WMV2, WMV3, OGG, FLAC, DTS, COOK |
四、系统要求
- 最低支持 Android 系统版本:2.3
- 支持 CPU 架构:armv/armv7a/arm64_v8a/x86/x86_64
五、系统权限
在您开始开发前,需要在您AndroidManifest.xml里添加如下权限,如若没有添加相应的权限,则会出现播放错误
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
六、引入资源包
eclipse 引用
{project}/libs/libcnlivevideo.jar
{project}/libs/libcnliveutil.jar
{project}/app/src/main/jinLibs/armeabi/libksyplayer.so
{project}/app/src/main/jinLibs/armeabi-v7a/libksyplayer.so
{project}/app/src/main/jinLibs/arm64-v8a/libksyplayer.so
{project}/app/src/main/jinLibs/x86/libksyplayer.so
gradle 引用
compile 'com.cnlive:lib_cnvideo2.0:2.2.7'
compile 'com.cnlive:lib_cnutil:2.1.0'
七、代码混淆
keepattributes Signature
-dontwarn com.cnlive.**
-keep class com.cnlive.** {*;}
-dontwarn com.ksyun.**
-keep class com.ksyun.** { *;}
-dontwarn com.ksy.**
-keep class com.ksy.** { *;}
八、SDK初始化
本文档给出了播放器SDK核心类MediaPlayer,VideoView,SwitchVideoview的基本调用示例,这里布局文件和控件查找不再赘述
sdk初始化
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//设置appID和appkey(请登录http://open.cnlive.com/注册)
Config.init(this,"60_irn9edco29",
"69fe70bda67e059286ad509d9f5377f815955645b52f94")
}
}
九、MediaPlayer的示例
十、VideoView的示例
十一、SwitchVideoView的示例
十二、其他文档
1、直播延时
2、重置播放器&重新播放
3、直播状态监听
4、播放器解码模式介绍
5、播放器reload模式介绍
6、视频缓存
十三、消息类型
OnInfoListener回调时的消息类型定义
OnErrorListener回调时错误类型定义
十四、版本信息
v3.0(当前版本)
需要引入util包:compile 'com.cnlive:lib_cnutil:3.0.3'
如果需要监听主播状态,则需要引入互动SDK:compile 'com.cnlive:lib_cnchat_tc:3.0.1'
v2.2
1、播放器创建方法改变
2、设置直播方法改变
3、设置点播方法改变
4、设置播放器解码模式
5、视频reload
6、设置播放器镜像
7、无缝切换视频
8、视频缓存
v1.0
播放SDK