本文是为使用各种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,在这里增加项目权限

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