Page History

Home

Last edited by 王琳

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