
开发文档Android .x(as)
变更记录
1.1 集成准备
1.2 支持版本
1.3 具体集成方案
1.4 支持手机cpu架构
2.1 接口调用顺序
2.2. 初始化Application .
2.3 回调注册
2.4. 发起会议
2.5. 加入会议
2.6. 加入会议(支持设置相机和⻨克⻛状态)
2.7. 结束会议
2.8 新终端入会
2.9. 终端离开
2.10. 会议状态
2.11. 适配相机旋转⻆度(针对于内置相机)
2.12 会议信息
2.13 参会人列表
2.14.配置项
2.14.1配置更多中的通讯录邀请功能
2.14.2配置通知栏中消息图标及消息提示
2.14.3配置终端加入/离开/结束会议消息提示
2.14.4 配置结束/离开会议二次确认弹框提示
2.14.5配置直播功能
2.14.6配置录制功能
2.14.7配置聊天功能
2.14.8配置TV版本
2.14.9配置画廊模式下竖屏界面
2.14.10配置当前相机的旋转⻆度
2.14.11配置选看远端视频流大小
2.14.12配置统计信息
2.14.13配置log写文件
2.14.14配置离线参会人的邀请
2.14.15配置语音模式
2.14.16配置共享
2.14.17是否显示共享设置(手机有此功能)
2.14.18是否显示共享按钮:
2.14.17配置锁定会议功能
2.14.18配置本地采集方式&设置编解码
2.14.19PAD 如果出现视频倒转等,可配置如下
2.15 返回会议中
2.16自定义共享水印
2.17 本地视频截取
2.18 设置签到地址
2.19. 设置采集分辨率
2.20. 设置终端名称
2.21 开始及停止屏幕共享
2.22设置是否双屏异显及屏幕数量
Websocket 连接
Websocket 回调监听/移除
Websocket 回调接口
错误码
Websocket 断开
是否显示邀请振铃界面(默认false)
收到邀请是否自动应答(自动入会)(默认false)
收到邀请是否免打扰(不响铃不入会)(默认false)
app在后台时收到邀请需要配置项(app登录成功后 进入的 ⻚面,绝对路径)
日期 | 版本 | 说明 | 备注 |
|---|---|---|---|
2021.1130 | 2.14.16是否显示共享按钮:默认true显示 | ||
20220426 | 5.1.1 | 修改ws模块1会中⽀持研讨会消息推送功能2 接⼝变更&新增HuiJianSdk.getInstance().connectWS(Context context,WsParm wsParm);HuiJianSdk.getInstance().disConnectWS(); 添加监听HuiJianSDKEvent.getInstance().addWsListener(WsListener listener); 移除监听HuiJianSDKEvent.getInstance().removeWsListener(WsListener listener); 回调voidOnReceiveWSMessage(String json);void OnConnectWS(boolean isSuccess, interrorCode,String errorDesc); 是否显示邀请振铃界⾯>> setShowInviteToMeetingUI(true)//默认false 邀请⾃动应答HuiJianSdk.getInstance().setInviteToMeetingToAutoAnswer(true);邀请免打扰HuiJianSdk.getInstance().setInviteToMeetingToNotDisturb(true); |
获取SDK, SRPaasSDK⽬录中包含lib/SRPAAS_Video_v5.x.x.aar;
SDK⽀持JDK1.6和Android SDK version 17以上的系统。
创建⼀个新⼯程,并在项⽬的build.gradle中添加以下内容: 注意:v7的版本需要在28版本以上; 注意:sdk的compileSdkVersion编译版本适配了Android 10系统,因此compileSdkVersion必须为29 注意:⽬前使⽤到了第三⽅库:com.squareup.okhttp3:okhttp:3.6.0;如果集成中出现冲突请与我们联 系
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'//必须引⽤否则参会⼈
或者 共享图⽚会崩溃
//implementation 'com.android.support:multidex:1.0.3'
// 引⽤aar,测试集成aar
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/srVideoLibHuijian202204271420.aar')
}会⻅sdk⽬前⽀持armeabi 和 armeabi-v7a 两种cpu架构;
注意:如果集成会⻅sdk的同时也引⽤了其他第三⽅不同的cpu架构,需要适配,指定ABI;
例如:
ndk{
abiFilters 'armeabi','armeabi-v7a'
}步骤 | 对应函数 | 说明 | 备注 |
|---|---|---|---|
初始化Application | HuiJianSDKEvent:init | 必须初始化Application | |
Application 重写 onConfigurationChanged | HuiJianSDKEvent: onConfigurationChan ged | Appli cat i on必须重写 onConfigurationChan ged(Configuration newConfig) | 2.aar版本及以后增加 该方法,必须实现 |
初始化Listener | HuiJianSDKEvent: addMeetingListener,r emoveMeetingListen er | 设置回调,移除回调 | |
开始会议 | HuiJianSdk: startMeeting | 启动一个新的会议 | |
加入会议 | HuiJianSdk:joinMeeting | 加入正在开的会议 | |
结束会议 | HuiJianSdk:endMeeting | 结束会议 | |
新终端入会 | HuiJianSdk:onNewTermJoinCallBack | 新终端入会 | |
终端离开 | MeetingListener:onTermLeaveCallBack | 终端离开回调 | |
会议状态 | MeetingListener:onMeetingState | 会议状态回调 | |
会议信息 | HuiJianSdk:getMeetingInfo | 获取会议信息 | |
参会人列表 | HuiJianSdk:getParticipantInfoList | 获取参会人列表 | |
返回会议中 | HuiJianSdk:onBacnMeeting | 适配Home键后台,再次返回到前台会议中 | |
自定义共享水印 | HuiJianSdk:waterMark | 当有人共享时显示自定义水印 |

/**
*详⻅HuiJian_Android_Video_Plug_demo使⽤
*/
1. HuiJianSDKEvent.getInstance().init(this);(注意init初始化必须在OnCreate中
调⽤)
2. 重写onConfigurationChanged(Configuration newConfig)
HuiJianSDKEvent.getInstance().onConfigurationChanged(newConfig);/**
*详⻅HuiJian_Android_Video_Plug_demo使⽤
*/
HuiJianSDKEvent.getInstance().addMeetingListener(this);
HuiJianSDKEvent.getInstance().reMoveMeetingListener(this); /**
* Context 上下⽂,启动video服务⽤的(不可以为空)
* appId (appid为第三⽅集成时向北京凌壹科技有限公司申请的⼀个产品标识符,可通过web来申请)(不可
以为空)
* secretKey(secretKey为第三⽅集成时向北京凌壹科技有限公司申请的)(不可以为空)
* doMain 域名(不可以为空) 注:【 doMain格式:
1.⽀持内外⽹版本:本地ip/域名,代理ip/域名,如:
http://192.168.61.39,https://huijian.suirui.com
2.不⽀持内外⽹版本:只需本地ip/域名,如:https://huijian.suirui.com 】
* uid ⽤户id,第三⽅⽤户唯⼀标识,数字即可,位数不限(不可以为空)
* token 登录时获取的token值,(不可以为空)
* nickName ⽤户昵称,⽤于显示在会议中的昵称(不可以为空)
* confId 会议号(开始会议可以为"") 注:【 confId格式:
1.⽀持内外⽹版本:会议号+@+企业名称,如:confId@suirui
2.不⽀持内外⽹版本:会议号,如:confId 】
* confPwd 会议密码(开始会议可以为"")
*/
Context context=MainActivity.this;
String appId = "beb7da4ced7c42a085c3c99697f9aa42";
String secretKey = "beb7da4ced7c42a085c3c99697f9aa42";
String doMain = "https://huijian.suirui.com";
String confId = "";
String nickName = "test";
String uid = "1234";
String token="";
String confPwd = "";
HuiJianSdk.getInstance().startMeeting(context, appId, secretKey,
doMain, uid,token, nickName, confId, confPwd);/**
* Context 上下文,启动video服务用的(不可以为空)
* appId (appid为第三方集成时向北京凌壹科技有限公司申请的一个产品标识符,可通过web来申请)(不可
以为空)
* secretKey(secretKey为第三方集成时向北京凌壹科技有限公司申请的)(不可以为空)
* doMain 域名(不可以为空) 注:【 doMain格式:
1.支持内外网版本:本地ip/域名,代理ip/域名,如:
http://192.168.61.39,https://huijian.suirui.com
2.不支持内外网版本:只需本地ip/域名,如:https://huijian.suirui.com 】
* uid 用户id,第三方用户唯一标识,数字即可,位数不限(不可以为空)
* token 登录时获取的token值,(不可以为空)
* nickName 用户昵称,用于显示在会议中的昵称(不可以为空)
* confId 会议号(开始会议可以为"") 注:【 confId格式:
1.支持内外网版本:会议号+@+企业名称,如:confId@suirui
2.不支持内外网版本:会议号,如:confId 】
* confPwd 会议密码(开始会议可以为"")
*/
Context context=MainActivity.this;
String appId = "beb7da4ced7c42a085c3c99697f9aa42";
String secretKey = "beb7da4ced7c42a085c3c99697f9aa42";
String doMain = "https://huijian.suirui.com";
String confId = "";
String nickName = "test";
String uid = "1234";
String token="";
String confPwd = "";
HuiJianSdk.getInstance().startMeeting(context, appId, secretKey,
doMain, uid,token, nickName, confId, confPwd); /**
* Context 上下⽂,启动video服务⽤的 (不可以为空)
* appId (appid为第三⽅集成时向北京凌壹科技有限公司申请的⼀个产品标识符,可通过web来申请)(不可
以为空)
* secretKey(secretKey为第三⽅集成时向北京凌壹科技有限公司申请的)(不可以为空)
* doMain 域名(不可以为空) 注:【 doMain格式:
1.⽀持内外⽹版本:本地ip/域名,代理ip/域名,如:
http://192.168.61.39,https://huijian.suirui.com
2.不⽀持内外⽹版本:只需本地ip/域名,如:https://huijian.suirui.com 】
* uid ⽤户id,第三⽅⽤户唯⼀标识,数字即可,位数不限(不可以为空)
* token 登录时获取的token值,(不可以为空)
* nickName ⽤户昵称,⽤于显示在会议中的昵称(不可以为空)
* confId 会议号(不可以为空)注:【 confId格式:
1.⽀持内外⽹版本:会议号+@+企业名称,如:confId@suirui
2.不⽀持内外⽹版本:会议号,如:confId 】
* confPwd 会议密码(可以为"")
* isCameraOn:加⼊会议相机的状态;true:打开 false:关闭
* isMute:加⼊会议⻨克⻛的状态;true:静⾳ false:⾮静⾳
*/
Context context=MainActivity.this;
String appId = "beb7da4ced7c42a085c3c99697f9aa42";
String secretKey = "beb7da4ced7c42a085c3c99697f9aa42";
String doMain = "https://huijian.suirui.com";
String confId = "";
String nickName = "test";
String uid = "1234";
String token="";
String confPwd = "";
boolean isCameraOn = true;
boolean isMute = false;
HuiJianSdk.getInstance().joinMeeting(context, appId, secretKey,
doMain, uid, token, nickName, confId,confPwd,isCameraOn,isMute);/*
如果⽤户是当前会议的拥有者(即会议主持⼈),在调⽤该接⼝的时候会弹出提示窗⼝,请⽤户确认
是结束 会议还是离开会议,点击按钮后实现相应的离会或结束会议的功能
*Context 上下⽂,启动video服务⽤的 (不可以为空)
*/
HuiJianSdk.getInstance().endMeeting(context);/*
*confId 会议号
*termInfo 参会⼈信息(uid,tername)
*/
@Override
public void onNewTermJoinCallBack(String confId, TermInfo termInfo) {
}/*
*confId 会议号
*termInfo 参会⼈信息(uid,tername)
*srError 离开信息(getCur_error:离开状态码;getDetail_reason:离开信息;
getBrief_reason:离开信息)
*/
@Override
public void onTermLeaveCallBack(String confId, TermInfo termInfo, SRError
srError) {
}/*
*confId 会议号
*code 状态码:【
10000;//主持⼈不在会议
10001;//会议不存在
10002;//会议已结束
10003;//会议已删除
10004;//参会密码不正确
10005;//临时账号资源紧张,请稍后再试
10006;//不是⾃⼰的会议
10007;//serviceid 为空
10008;//会议ID为空
10009;//thirdAudioId 必须是12位
10010;//⽤户重复加⼊会议
10011;//id3不存在
10012;//version3不存在
10013;//subject不存在
10014;//不允许匿名加⼊会
10015;//⽹关不存在
10016;//⾮法设备
10017;//⼊会失败
10018;//获取apm认证mac信息失败
10019;//⽹络异常,⼊会失败
10020;//⼊会成功
10021;//主持⼈结束会议
10022;//本⼈退出会议
10023;//获取版本信息时服务器连接失败
10024;//初始化sdk失败
10025;//本⼈被踢离开会议
10026;//被主持⼈结束会议
10027;//退出等候区】
*message 状态信息
*/
@Override
public void onMeetingState(String confId, int code, String message) {
}/*
*cameraId 当前相机(0:后置摄像头;1:前置摄像头)
*screenRotation 当前⼿机屏幕⽅向 (0:横屏,1:竖屏,9:反向竖屏,8:反向横屏)
*注:相机切换和屏幕旋转时均会收到该消息,根据下⾯的【4.3 配置当前相机的旋转⻆度】进⾏设
置;
*原因:相机采集的图像是有⻆度的,且前置/后置相机采集的图像⻆度不⼀样,所以需要设置旋转的
⻆度,
*才能得到正确⽅向的视频图像
*/
@Override
public void onCameraRotation(int cameraId, int screenRotation){
}/*
* errorCode 1001:未⼊会,获取失败
* Context 上下⽂,启动video服务⽤的 (不可以为空)
* info 会议信息(confId:会议号;confPwd:会议密码;startTime:开始时间;endTime:结束
时间;nickName:⽤户昵称;confSubject:会议主题)
* Context context=MainActivity.this;
*/
HuiJianSdk.getInstance().getMeetingInfo(context, new
OnGetMeetingInfoListener() {
@Override
public void onFailed(int errorCode,String errorMsg) {
}
@Override
public void onSuccess(ConferenceInfo conferenceInfo) {
}
});/**
* errorCode 1001:未⼊会,获取失败
* Context 上下⽂,启动video服务⽤的 (不可以为空)
* Participant 参会⼈信息(uid:⽤户id,第三⽅⽤户唯⼀标识; nickName:⽤户昵称)
* Context context=MainActivity.this;
*/
HuiJianSdk.getInstance().getParticipantInfoList(context, new
OnGetParticipantInfoListener() {
@Override
public void onFailed(int errorCode,String errorMsg) {
}
@Override
public void onSuccess(List<Participant> allMemberInfosList) {
}
});1.如果需要⾸⻚更多⾥⾯的邀请功能,则需要通过以下配置:
VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setInvite(false) //默认true 打开邀请功能 false去掉邀请功能
.build();
VideoPlugManage.getManager().init(videoConfiguration);
2.如果邀请功能设置为true时,则邀请界⾯需如下配置(注:该界⾯功能第三⽅⾃⾏配置):
/**
* 更多中的邀请,跳转到⾃定义的xxxActivity界⾯,传递相关的会议参数,跳转(action)配置
⽂件(config.xml),并在AndroidManifest.xml中注册对应的⾃定义 xxxActivity;
*注意:com.suirui.huijian.meeting.invitnt是固定的不能更改;
*如下:
*/
config.xml(在values⽂件夹中添加)
<resources>
<string
name="com.suirui.huijian.meeting.invitnt">xx.xx.xx.xxxActivity</string>
</resources>
AndroidManifest.xml
<activity android:name="xx.xx.xx.xxxActivity">
<intent-filter>
<action android:name="xx.xx.xx.xxxActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
/**
*在⾃定义的xxxActivity界⾯接收传递的参数
*confSubject 会议主题
*confId 会议号 注:【 1.⽀持内外⽹版本:会议号+@+企业名称,如:
confId@suirui
2.不⽀持内外⽹版本:会议号,如:confId 】
*confPwd 会议密码
*termId 终端id
*list 当前正在会议中的参会⼈列表
*/
Intent intent = this.getIntent();
if (intent != null) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
String confSubject =
bundle.getString(AndroidAppUtil.EXTRA_SUBJECT);
String confId = bundle.getString(AndroidAppUtil.EXTRA_MEETING_ID);
String confPwd =
bundle.getString(AndroidAppUtil.EXTRA_MEETING_PSW);
int termId = bundle.getInt(AndroidAppUtil.MyPrivate.EXTRA_TERMID,
0);
List<Participant> list = (List<Participant>)
bundle.getSerializable(AndroidAppUtil.EXTRA_PARTICIPANT_LIST);
}
} VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.notifyIcon(R.drawable.ic_launcher)//消息通知图标
.notifAppName("会⻅")//消息提示
.build();
VideoPlugManage.getManager().init(videoConfiguration); VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRMessageAlert(false)//默认true:提示;false:不提示
.build();
VideoPlugManage.getManager().init(videoConfiguration); VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSREndMeetingDialog(false)//默认true:显示退会弹框;false:
不显示退会弹框
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSROnlive(false)//默认为true:显示直播按钮;false:不显示直播
按钮
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRRecord(false)//默认为true:显示录制按钮;false:不显示录制
按钮
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRChat(false)//默认为true:显示聊天按钮;false:不显示聊天按
钮
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setPlatformType(true)//默认false⼿机版本,true表示TV版本
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setGalleryPort(false)//默认false:两⾏两列,true:四⾏⼀列
.build();
VideoPlugManage.getManager().init(videoConfiguration);/*
*cameraRotation 本地预览⻆度(竖屏cameraRotation=90 || cameraRotation=270;
* 横屏cameraRotation=0 || cameraRotation=180)
*
*sdkCameraRotation 本地采集传给sdk的⽅向(竖屏sdkCameraRotation=0 ||
sdkCameraRotation=2;
* 横屏sdkCameraRotation=1 ||
sdkCameraRotation=3)
*
*/
VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setCameraRotation(90, 2)//设置本地预览旋转90度,设置sdk视频⽅
向为2,竖屏;
.build();
VideoPlugManage.getManager().init(videoConfiguration);/*
*SRPaas.VideoType.SR_CFG_VIDEO_SIZE_720P.getValue() 选看的⼤流,⽬前⽀持
720,360等;
*SRPaas.VideoType.SR_CFG_VIDEO_SIZE_180P.getValue() 选看的⼩流,⽬前⽀持
180,90等;
*/
VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSelectType(SRPaas.VideoType.SR_CFG_VIDEO_SIZE_720P.getValue(),
SRPaas.VideoType.SR_CFG_VIDEO_SIZE_180P.getValue())
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRStatisticInfo(false)// true:显示统计信息 false:隐
藏统计信息
.build();
VideoPlugManage.getManager().init(videoConfiguration);/*
*⽬的:为了追踪集成sdk过程中,遇到的问题⽐如崩溃等,收集log⽂件,⽅便提供⽅追查问题
*/
VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRFileLog(false)
.build();
VideoPlugManage.getManager().init(videoConfiguration);/**
*setSRParticipantsInvite(true):显示离线参会⼈的邀请按钮,同时邀请界⾯与【3.3 配
置邀请功能】介绍⼀样,需要⾃⼰去实现;
*setSRParticipantsInvite(false):隐藏离线参会⼈的邀请按钮
/
VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRParticipantsInvite(false)
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRVoiceScene(false)// true:显示语⾳模式 false:隐藏语
⾳模式
.build();
VideoPlugManage.getManager().init(videoConfiguration);会中底部菜单栏点击共享按钮是否显示共享设置按钮(⼿机有此功能):
VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRShareSet(false)// true:显示共享设置 false:隐藏共享设
置,默认false
.build();
VideoPlugManage.getManager().init(videoConfiguration);会中底部菜单栏是否显示共享按钮:
VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRShare(true)//true:显示 false:不显示 默认true
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setSRLockConference(false)//默认为true:显示锁定会议按钮;
false:不显示锁定会议按钮
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
.setLocalCarmeraSvc(true)//true:⽀持svc流;false:默认false
.setHardCodeDecode(true,true)//如果⽀持svc,设置⽀持的编解码均
为true,如果本地不⽀持svc⽆需设置此项
.build();
VideoPlugManage.getManager().init(videoConfiguration);VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
//padconfig 本地预览0,sdk视频⽅向横屏;如果出现视频倒转等,可配
置如下
.setCameraRotation(0, 1)
.build();
VideoPlugManage.getManager().init(videoConfiguration);/*
*适配有的⼿机在会议中home键后台了,再次启动app没有返回到会议中,
*以下⽅法返回true:表示返回到会议中,不加载当前的activity;详细使⽤请看demo
*/
HuiJianSdk.getInstance().onBackMeeting(context);/**
* ⾃定义共享⽔印
* @param content ⽔印内容
* */
HuiJianSDKEvent.getInstance().waterMark(Context context, String content);/**
* 本地视频截取
* @return pathName 截图路径
* */
HuiJianSDKEvent.getInstance().getLocalScreenShot();/**
* 设置签到地址
* @param singinUrl 签到地址
* */
HuiJianSDKEvent.getInstance().setSinginUrl(String singinUrl);/**
* 设置采集分辨率
* @param width 宽
* @param height ⾼
* */
HuiJianSDKEvent.getInstance().setCameraCaptureSize(int width, int
height);/**
* 设置终端名称
* @param terminalName 终端名称
* */
HuiJianSdk.getInstance().setTerminalName(context, terminalName);/**
* 开始屏幕共享/停⽌屏幕共享
* @param isStart 是否开始,true-开始;false-停⽌
* */
HuiJianSdk.getInstance().startOrStopSharing(context, isStart);/**
* 设置是否双屏异显及屏幕数量
* @param isAsyncDisplay 是否异显
* @param screenCount 屏幕数量
* */
HuiJianSdk.getInstance().setScreenCount(Context context, boolean
isAsyncDisplay, int screenCount);
使⽤⽅式:设置屏幕的实际数量:
1⼊会之前需设置
2 屏幕插拔需设置HuiJianSdk.getInstance().connectWS(Context context,WsParm wsParm);
WsParm wsParm = new WsParm();
private String doMain;//必填 邀请⼊会时使⽤
private String wsUrl;//必填 示例:http://10.10.15.3 ws://10.10.15.3;
https://10.10.15.3 wss://10.10.15.3
private String port;//必填
private String suid;//必填
private String account;
private String token;//必填
private String nickName;//必填 邀请⼊会时使⽤
private String companyId;addWsListener(WsListener listener)
removeWsListener(WsListener listener)
添加监听
HuiJianSDKEvent.getInstance().addWsListener(WsListener listener);
移除监听
HuiJianSDKEvent.getInstance().removeWsListener(WsListener listener);/**
* @author xhwang
* @createDate 2022/4/26 14:00
* @description websocket 推送消息
* @param json
* @see
* @return void
*/
void OnReceiveWSMessage(String json);
/**
* @author xhwang
* @createDate 2022/4/26 13:47
* @description websocket 连接成功失败断开的状态
* @param isSuccess
* @param errorCode {@link SRRTCErrorCode}
* @param errorDesc 错误描述
* @see
* @return void
*/
void OnConnectWS(boolean isSuccess, int errorCode,String errorDesc);public interface SRRTCErrorCode {
final int SR_ERROR_INIT_SDK = -1;
final int SR_ERROR_JOINROOM = 1001;//⼊会错误
final int SR_ERROR_LEAVEROOM = 1002;//离开会议错误
final int SR_ERROR_LOGIN = 1003;//登录错误
final int SR_ERROR_CONNECTWS = 1004;//websocket 错误
final int SR_ERROR_DISCONNECTWS = 1005;//websocket 错误
final int SR_ERROR_REPEATJOINMEETING = 1006;//已经在会中,重复加⼊其他会议
错误
}HuiJianSdk.getInstance().disConnectWS();VideoConfiguration videoConfiguration = new
VideoConfiguration.VideoConfigBuilder(this)
//如需⾃⼰开发此UI界⾯,设置false,
//⾃⼰实现此UI界⾯:OnReceiveWSMessage(String json)中检测到
"type":"InviteToMeeting" 时⾃⼰显示界⾯即可
.setShowInviteToMeetingUI(true)//默认false
.build();
VideoPlugManage.getManager().init(videoConfiguration);//邀请⾃动应答
HuiJianSdk.getInstance().setInviteToMeetingToAutoAnswer(true);//邀请免打扰
HuiJianSdk.getInstance().setInviteToMeetingToNotDisturb(true);位置 :res/values/config.xml
添加
<string
name="app_main_activity">org.suirui.huijian.hd.videodemo.MainActivity</st
ring>