本文是为使用各种SDK做一些通用的准备和说明,包括IDE和工程配置等。
一、开发环境:
- Android SDK Tools: android-sdk_26.0.|+
- minSdkVersion: 16
- targetSdkVersion: 26
- Android Studio
二、系统要求:
- SDK 支持 在 Android 4.1(API 16)及以上系统上运行,但只有 ( Android 4.3) API 18 以上的系统才能开启硬件编码
三、接入流程:
1、 新建gradle工程 2、 复制vhallframework.aar(此包是核心包,必须加入,否则任何服务无法使用)
- vhallframework.aar vhallsdk核心包,用户sdk基础通迅、全局配置、日志管理、权限控制等
3、 复制微吼云服务包到工程libs目录下 例如:如果使用IM服务,只需要添加 vhallims.jar 和 vhallframework.jar便可以使用 IM服务
- vhalllss.jar 负责直播服务
- vhallvod.jar 负责录播服务
- vhallims.jar 负责IM消息服务
- vhallops.jar 负责文档服务
- vhallilss.aar 负责互动直播服务 备注:使用Android Studio 会自动加载Jar包,也可以手动添加依赖
四、库简介:
在工程目录下的build.gradle中配置以下文件 1、socket.io 一款公共I/O库,基础通讯功能使用,目前使用截止文档编写之日最新稳定版
compile("io.socket:socket.io-client:0.9.0") {
exclude group: 'org.json', module: 'json'
}
五 配置权限
在gradle工程找到Android系统文件AndroidManifest,在这里增加项目权限
1、注册服务
<service android:name="com.vhall.framework.VhallConnectService"></service>
2、添加权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_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.READ_PHONE_STATE"/>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
六 SDK初始化
SDK初始化,此方法也会获取包名和签名,用于身份验证,如果没有设置请先去开发者中心设置【Android包名和签名】
如果返回【30003 |包检测验证错误】说明包名或者签名填错,请重新核对包名签名。
/**
* 初始化Sdk,核心方法,在使用微吼云任何服务前调用,
* @param context 上下文
* @param appid 微吼云应用的唯一标识
* @param userid 用户标识
* @param InitCallback 初始化SDK的回调
*/
VhallSDK.getInstance().init(this, appid, userid, new VhallSDK.InitCallback() {
@Override
public void onSuccess() {
// 初始化成功,可以进行后续操作
}
@Override
public void onFailure(String msg) {
// 初始化失败,请查看appid 等参数是否正确
}
});
六、demo/sdk地址:
https://github.com/vhall/VHYun_SDK_Android
七、版本更新纪录
V1.5.0 (发布时间20190109) 一、文档模块 删除VHOPSView改为DocumentView view.setEventListener改为view.addListener 配置文件 com.vhall.ops.VHOPSView 改为 com.vhall.document.DocumentView 二、IM模块 com.vhall.framework.VhallConnectService改为com.vhall.framework.connect.VhallConnectService 需要同步修改manifest.xml中的service路径 三、互动模块 localStream构建开放create,可以按需要构建特殊的本地流(音视频、纯音频、纯视频等) localView构建不变,如果为纯音频互动,可以不构建localView 互动回调添加onStreamMixed回调,是否为双流,互动回调均为子线程,不可以在回调中直接操作view 添加变声功能 开关本地音视频接口,添加是否发送消息成功回调 四、直播模块 发起直播事件回调及code码重定义 配置文件 com.vhall.lss.push.VHVideoCaptureView 改为 com.vhall.push.VHVideoCaptureView 看直播事件回调及code码重定义 五、回放模块 看回放事件及code码重定义 添加倍速播放 配置文件 com.vhall.lss.play.impl.VHVideoPlayerView 改为com.vhall.player.stream.play.impl.VHVideoPlayerView