- tyRTC
- 概述
- 准备工作
- setAppKeyAndAppId
- login
- logout
- setGlobalStatusListener
- setLogStatusListener
- setCallStatusListener
- setRemotePicPathListener
- setMessageListener
- setGroupStatusListener
- call
- acceptCall
- hangUp
- mute
- loudSpeaker
- setVideoAttr
- takeRemotePicture
- sendMessage
- switchCamera
- rotateCamera
- switchView
- hideLocalView
- groupCreate
- groupMember
- groupInvite
- groupList
- groupJoin
- groupKick
- groupClose
- groupMic
- groupVideo
- 错误码
tyRTC
来自于:天翼RTC立即使用
setAppKeyAndAppId login logout setGlobalStatusListener setLogStatusListener setCallStatusListener setRemotePicPathListener setMessageListener setGroupStatusListener
概述
天翼RTC平台运行在公共互联网上,定位于纯互联网方式提供OTT实时通信服务的通信能力平台,未来将与中国电信的IMS/软交换/PSTN等网络通信系统互通。为客户端应用提供应用内、应用间的语音、视频和数据实时通信沟通,其应用接口包括:面向PC、Pad和手机终端以及Web应用前端,支持多种编程语言和终端平台的SDK(包括Android、iOS和JS SDK); 面向第三方应用前端以及服务器后台发起的REST API。 tyRTC模块封装了天翼RTC平台的SDK,使用此模块可轻松实现点对点音视频通话、多人语音视频通话、IM消息的功能。
天翼RTC平台官方网站:http://www.chinartc.com/dev/
天翼RTC开发者支持QQ群:172898609(含示例代码下载)
天翼RTC公有云咨费标准:http://www.chinartc.com/dev/rtcweb/price.html
准备工作
在RTC开发者门户或者集成RTC能力的开放平台门户上注册开发者资料,提交并接受平台审核,审核通过将成为开发者并获得开发者帐号。 系统将自动分配AccountId和AppKey,在配置SDK时使用。
打包iOS App需要在widget的config.xml文件中添加配置,方法如下
- 描述:
- 1、enablelog表示是否允许生成log。value值为“1”时表示打印log,“0”为关闭,不配置则默认关闭。开启后会在控制台输出RTC的log信息,并且保存在应用沙盒内的tmp文件夹下。此功能只为了方便开发者调试,正式发布时必须关闭log。
- 2、notification表示当应用在后台时,点对点来电通知的展现内容(仅支持iOS 9及其以下系统,若iOS 10及其以上系统需要支持后台通知,需要配置APNs证书,请参考后续文档说明)。value的取值与通知内容的对应关系如下: (1)value=”callName”,则通知内容=”来电:xx”,xx为具体的来电号码(即call接口的callName参数)。 (2)value=”callInfo”,则通知内容=”来电:xx”,xx为呼叫附加信息(即call接口的callInfo参数,可以传入昵称等自定义信息)。 (3)value=任意字符串,则通知内容=value,若value中包含”callName”、”callInfo”或”nickName”字段,则通知内容的相应位置会替换为具体的”callName”、”callInfo”或”nickName”的值。 (4)value=”hideNotification”,则通知不显示。 (5)若不配置则默认value为“callName”。 (6)多人通知name=”notificationGrp”,value=任意字符串,若value中包含”grpName”字段,则通知内容的相应位置会替换为具体的”grpName”的值。
- 配置示例:
<feature name="tyRTC">
<param name="enablelog" value="0" />
<param name="notification" value="callName" />
<param name="notificationGrp" value="群组来电:grpName" />
</feature>
- 描述:backgroundMode作用是让应用在后台时保持长连接。若应用配置此项后,上架AppStore时需要提供后台接听的演示视频,并备注后台接听的操作步骤,以免上架被拒。
- 配置示例:
<preference name="backgroundMode" value="audio | voip" />
APNs配置说明
若应用在后台时被清除进程,或是设备启动后没有启动应用,或是iOS 10及其以上系统的应用进入后台,那么此时只能通过苹果的APNs来接收推送。目前仅支持推送点对点来电通知,通知格式为“来自 xxx 的来电”,其中xxx内容为登录账号。若开发者需要自定义此消息,请联系RTC官方进行后台配置。 开发APNs推送功能流程如下: (1)开发者首先需要在Apple Developer官网上申请推送证书,生成cer格式的文件。推送证书分为两种:开发证书和生产证书,分别用于测试应用和正式发布应用。 (2)不同应用有不同的推送证书,与应用的Bundle Identifier绑定,注意,生成推送证书后,对应的APP ID的Push Notifications项应变为enable,如果没有请手动编辑。 (3)将cer证书双击导入钥匙串,生成推送许可证书,右键证书导出为p12格式的文件,生成过程中需要设置密码,请牢记密码。 (4)将p12文件、导出密码、应用名称、应用的Bundle Identifier等信息发给RTC官方,可通过qq或邮件的形式发给开发者支持群里的” iOS SDK@天翼RTC”(807382934@qq.com)。RTC官方审核后会生成推送所需要的pushId、pushKey、pushMaster,并将其发送给开发者,请妥善保存。不同的应用需要申请不同的pushId、pushKey、pushMaster,不能混用。 (5)在config.xml文件中配置以下内容,enableAPNs为1表示开启APNs功能,0为关闭:
<feature name="tyRTC">
<param name="enableAPNs" value="1" />
<param name="pushid" value="替换为RTC官方分配的pushid" />
<param name="pushkey" value="替换为RTC官方分配的pushkey" />
<param name="pushmastersecret" value="替换为RTC官方分配的pushmastersecret" />
</feature>
(6)使用配置了APNs的证书进行打包。 (7)需要保证应用安装后至少启动过一次,APNs才能开始推送。此后即使应用未启动,也能收到来电通知。 (8)以下三种情况会触发onGlobalStatus回调,回调内容为“APNs:xxx”,xxx为推送内容。a)当应用未启动的情况下收到通知后,点击或滑动通知会触发应用启动,并触发回调;b)当应用在前台运行的情况下收到来电,不会弹出通知,但会触发回调;c)当应用在后台运行的情况下收到通知后,点击或滑动通知,或点击应用图标,会进入应用,并触发回调。
注意:本模块要求iOS 8.0以上。编译时,先在APICloud 编译界面高级设置,选择固件版本iOS 8.0 以上。
setAppKeyAndAppId
设置应用程序的appKey和appId
setAppKeyAndAppId({params})
params
appId:
- 类型:字符串
- 默认值:无
- 描述:从RTC平台申请的appid,不能为空
appKey:
- 类型:字符串
- 默认值:无
- 描述:从RTC平台申请的appkey,不能为空
示例代码
var setparam = {
appId:"70038",
appKey:"MTQxMDkyMzU1NTI4Ng=="
};
var demo = api.require('tyRTC');
demo.setAppKeyAndAppId(setparam);
补充说明
在登录之前需要先调用此接口设置appId和appKey
可用性
iOS系统,Android系统
login
初始化RTC客户端,并注册至RTC平台
login({params})
params
jsonViewConfig:
- 类型:字符串
- 默认值:无
- 描述:通话视频窗口位置和大小数据,不能为空,为一个json字符串,格式为: {localView = {x, y, w, h}, remoteView = {x, y, w, h}},”localView”表示本地窗口配置信息,”remoteView”表示远程窗口配置信息,”x”表示窗口起始x坐标,”y”表示窗口起始y坐标,”w”表示窗口宽度,”h”表示窗口高度。视频窗口在接听视频来电时创建。
userName:
- 类型:字符串
- 默认值:无
- 描述:本地用户账号,不能为空,账号不可包含“~”、“-”、空格、中文字符
nickName:
- 类型:字符串
- 默认值:无
- 描述:本地用户昵称,可以为空,只支持iOS。账号不可包含“~”、“-”、空格字符
示例代码
var jsonObj1 = {};
jsonObj1.x = 55;
jsonObj1.y = 240;
jsonObj1.w = 130;
jsonObj1.h = 170;
var jsonObj2 = {};
jsonObj2.x = 190;
jsonObj2.y = 240;
jsonObj2.w = 130;
jsonObj2.h = 170;
var json = {};
json.localView = jsonObj1;
json.remoteView = jsonObj2;
var setparam = {
jsonViewConfig:JSON.stringify(json),
userName:"5668"
};
var demo = api.require('tyRTC');
demo.login(setparam);
补充说明
登录结果返回至cbLogStatus回调函数 登录成功后可以继续调用此接口设置视频窗口尺寸
可用性
iOS系统,Android系统
logout
退出RTC平台
logout()
示例代码
var demo = api.require('tyRTC');
demo.logout();
补充说明
注销结果返回至cbLogStatus回调函数
可用性
iOS系统,Android系统
setGlobalStatusListener
设置回调函数,监听客户端全局状态
setGlobalStatusListener(onGlobalStatus(data))
onGlobalStatus(data)
data:
- 类型:字符串
描述:返回客户端实时状态,详情如下:
"ClientListener:onInit,result=":result为初始化结果
"获取token: reason:":获取token结果,reason为失败原因
"DeviceListener:onNewCall,call=":有新来电,call为来电信息,其中"ci"为对方携带的呼叫信息(即callInfo参数),"t"为呼叫类型(1:音频,3:音+视频),"dir"为呼叫方向(1:去电,2:来电),"uri"为对方账号
"DeviceListener:rejectIncomingCall call=":当前已处在通话中,拒绝新的点对点来电,call为来电信息,其中"ci"为对方携带的呼叫信息(即callInfo参数),"t"为呼叫类型(1:音频,3:音+视频),"dir"为呼叫方向(1:去电,2:来电),"uri"为对方账号
"ConnectionListener:onConnecting":通话请求连接中
"ConnectionListener:onConnected":通话已接通
"ConnectionListener:onVideo":通话接通后,媒体建立成功
"ConnectionListener:onDisconnect,code=":通话连接中断,code为错误码
"StateChanged,result=200":登录成功
"StateChanged,result=-1001":没有网络
"StateChanged,result=-1002":切换网络
"StateChanged,result=-1003":网络较差
"StateChanged,result=-1004":重连失败需要重新登录
"StateChanged,result=-1500":同一账号在多个终端登录被踢下线
"StateChanged,result=-1501":同一账号在多个设备类型登录
"call hangup":主动挂断
"onReceiveIm:from:,msg:":接收到文本消息,from为发送账号,msg为消息内容
"TaponVideo":仅适用于iOS,当单击视频窗口时触发
"APNs:xxx":仅适用于iOS,xxx为推送内容。以下三种情况会触发此回调。a)当应用未启动的情况下收到通知后,点击或滑动通知会触发应用启动,并触发回调;b)当应用在前台运行的情况下收到来电,不会弹出通知,但会触发回调;c)当应用在后台运行的情况下收到通知后,点击或滑动通知会进入应用,并触发回调。
示例代码
var demo = api.require('tyRTC');
demo.setGlobalStatusListener(onGlobalStatus);
function onGlobalStatus(data){
alert(data);
}
补充说明
可在登录之前调用此接口设置回调函数
可用性
iOS系统,Android系统
setLogStatusListener
设置客户端注册至RTC平台的回调函数
setLogStatusListener(cbLogStatus(data))
cbLogStatus(data)
data:
- 类型:字符串
描述:返回客户端注册至RTC平台的结果,详情如下:
“OK:LOGIN”:登录成功
“OK:LOGOUT”:退出成功
“ERROR:PARM_ERROR”:登录参数有误
“ERROR:UNINIT”:RTC平台未初始化
“ERROR:error_msg”:error_msg为其他错误信息,如获取token失败
示例代码
var demo = api.require('tyRTC');
demo.setLogStatusListener(cbLogStatus);
function cbLogStatus(data){
alert(data);
}
补充说明
可在登录之前调用此接口设置回调函数
可用性
iOS系统,Android系统
setCallStatusListener
设置呼叫状态的回调函数
setCallStatusListener(cbCallStatus(data))
cbCallStatus(data)
data:
- 类型:字符串
描述:返回呼叫的结果,详情如下:
“OK:NORMAL”:正常状态(未通话,也无来电)
“OK:INCOMING”:有来电,等待接听
“OK:CALLING”:呼叫或通话中
“ERROR:PARM_ERROR”:呼叫参数有误
“ERROR:UNREGISTER”:未注册至RTC平台
示例代码
var demo = api.require('tyRTC');
demo.setCallStatusListener(cbCallStatus);
function cbCallStatus(data){
alert(data);
}
补充说明
可在登录之前调用此接口设置回调函数
可用性
iOS系统,Android系统
setRemotePicPathListener
设置截屏的回调函数
setRemotePicPathListener(cbRemotePicPath(data))
cbRemotePicPath(data)
data:
- 类型:字符串
- 描述:返回截屏图片存储的路径
示例代码
var demo = api.require('tyRTC');
demo.setRemotePicPathListener(cbRemotePicPath);
function cbRemotePicPath(data){
alert(data);
}
补充说明
可在登录之前调用此接口设置回调函数
可用性
iOS系统,Android系统
setMessageListener
设置回调函数,监听文本消息状态
setMessageListener(cbMessageStatus(data))
cbMessageStatus(data)
data:
- 类型:字符串
描述:返回收发文本消息状态,详情如下:
"OK:SEND":发送文本消息成功
"ERROR:code":发送文本消息失败,code为错误码
"OK:RECEIVE":接收文本消息成功
示例代码
var demo = api.require('tyRTC');
demo.setMessageListener(cbMessageStatus);
function cbMessageStatus(data){
alert(data);
}
补充说明
可在登录之前调用此接口设置回调函数
可用性
iOS系统,Android系统
setGroupStatusListener
设置多人状态的回调函数
setGroupStatusListener(cbGroupStatus(data))
cbGroupStatus(data)
data:
- 类型:字符串
描述:返回多人的结果,详情如下:
“onNewGroupCall,call={"callid":"xx","name":"xx","type"=xx}”:有会议来电,json参数分别表示callid、群组名、会议类型
“rejectIncomingCall,call={"callid":"xx","name":"xx","type"=xx}”:当前已在通话中,拒绝新的多人来电,json参数分别表示callid、群组名、会议类型
“statusChangedInfo={"appAccountID":"xx","memberStatus":xx}”:某个成员在会状态发生变化,appAccountID表示号码,memberStatus表示在会状态(1:准备状态,2:已加入,3:未加入,4:被踢出,5:正在振铃)
“micChangedInfo={"appAccountID":"xx","downAudioState":xx,"downVideoState":xx,"upAudioState":xx,"upVideoState":xx}”:某个成员麦克状态发生变化,appAccountID表示号码,downAudioState表示下行音频状态,downVideoState表示下行视频状态,upAudioState表示上行音频状态,upVideoState表示上行视频状态,上下行状态分为0(关闭)、1(开启)
“OK:groupCreate,callid="xx"”:创建会议成功,返回callid
“OK:groupMember,list={"appAccountID":"xx","memberStatus":"xx","role":"xx","startTime":"xx","downAudioState":"xx","downVideoState":"xx","upAudioState":"xx","upVideoState":"xx"},...”:查询成员成功,返回json数组,appAccountID表示成员账号,memberStatus表示在会状态(1:准备状态,2:已加入,3:未加入,4:被踢出,5:正在振铃),role表示成员身份(0:普通参会者,1:创建者),startTime表示加入会议时间(格式为“年月日时分秒”)
“OK:groupInvite”:邀请成员成功,被邀请成员会收到来电请求
“OK:groupKick”:踢出成员成功
“OK:groupList,list={"callid":"xx","name":"xx"},{"callid":"xx","name":"xx"}...”:获取会议列表成功,json数组,返回callid和群组名
“OK:noGroupList”:当前appid没有会议
“OK:groupJoin”:加入会议成功
“OK:groupClose”:关闭会议成功
“OK:groupMic”:操作麦克成功
“OK:groupVideo”:操作画面成功
“ERROR:PARM_ERROR”:参数有误,调用接口失败
“ERROR:INVALID_OPERATION”:正在发起或已在通话中
“ERROR:UNREGISTER”:未注册至RTC平台
“ERROR:groupCreate,code=xx”:创建会议失败,返回错误码code
“ERROR:groupMember,code=xx”:查询成员失败,返回错误码code
“ERROR:groupInvite,code=xx”:邀请成员失败,返回错误码code
“ERROR:groupKick,code=xx”:踢出成员失败,返回错误码code
“ERROR:groupJoin,code=xx”:加入会议失败,返回错误码code
“ERROR:groupClose,code=xx”:关闭会议失败,返回错误码code
“ERROR:groupMic,code=xx”:操作麦克失败,返回错误码code
“ERROR:groupVideo,code=xx”:操作画面失败,返回错误码code
示例代码
var demo = api.require('tyRTC');
demo.setGroupStatusListener(cbGroupStatus);
function cbGroupStatus(data){
alert(data);
}
补充说明
可在登录之前调用此接口设置回调函数
可用性
iOS系统,Android系统
call acceptCall hangUp mute loudSpeaker setVideoAttr takeRemotePicture sendMessage switchCamera rotateCamera switchView hideLocalView
call
创建呼叫
call({params})
params
callType:
- 类型:整数
- 默认值:无
- 描述:呼叫类型,不能为空。1:音频,2:音+视频,3:音+视频单向接收,4:音+视频单向发送
callName:
- 类型:字符串
- 默认值:无
- 描述:远端账号,不能为空。账号不可包含“~”、“-”、空格、中文字符
callInfo:
- 类型:字符串
- 默认值:无
- 描述:应用自定义传递的字符串,如昵称等。不可包含逗号,可以为空。
示例代码
var param = {
callType:2,
callName:"8889",
callInfo:"myName"
};
var demo = api.require('tyRTC');
demo.call(param);
补充说明
结果上报至cbCallStatus回调函数
可用性
iOS系统,Android系统
acceptCall
接听呼叫
acceptCall({params})
params
callType:
- 类型:整数
- 默认值:无
- 描述:接听类型,不能为空。1:音频,2:音+视频,3:音+视频单向接收,4:音+视频单向发送
示例代码
var param = {
callType:2
};
var demo = api.require('tyRTC');
demo.acceptCall(param);
补充说明
结果上报至cbCallStatus回调函数
可用性
iOS系统,Android系统
hangUp
挂断呼叫或通话
hangUp()
示例代码
var demo = api.require('tyRTC');
demo.hangUp();
补充说明
结果上报至cbCallStatus回调函数
可用性
iOS系统,Android系统
mute
设置静音/取消静音
mute({params})
params
value:
- 类型:字符串
- 默认值:无
- 描述:静音:”true”,取消静音:”false”
示例代码
var muteparam = {
value:"true"
};
var demo = api.require('tyRTC');
demo.mute(muteparam);
补充说明
支持点对点和多人通话
可用性
iOS系统,Android系统
loudSpeaker
设置扬声器/电话听筒
loudSpeaker({params})
params
value:
- 类型:字符串
- 默认值:无
- 描述:扬声器:”true”,电话听筒:”false”
示例代码
var param = {
value:"true"
};
var demo = api.require('tyRTC');
demo.loudSpeaker(param);
补充说明
支持点对点和多人通话
可用性
iOS系统,暂不支持Android系统
setVideoAttr
设置视频清晰度
setVideoAttr({params})
params
value:
- 类型:整数
- 默认值:0
- 描述:视频分辨率。0:标清;1:流畅;2:高清;3:720P;4:1080P;5:高清横屏(仅支持Android);6:720P横屏(仅支持Android);7:1080P横屏(仅支持Android)
示例代码
var param = {
value:0
};
var demo = api.require('tyRTC');
demo.setVideoAttr(param);
补充说明
无
可用性
iOS系统,Android系统
takeRemotePicture
截取远端画面
takeRemotePicture()
示例代码
var demo = api.require('tyRTC');
demo.takeRemotePicture();
补充说明
支持点对点和多人通话
可用性
iOS系统,Android系统
sendMessage
发送文本消息
sendMessage({params})
params
userName:
- 类型:字符串
- 默认值:无
- 描述:远端账号,不能为空。账号不可包含“~”、“-”、空格、中文字符
msg:
- 类型:字符串
- 默认值:无
- 描述:文本消息,不能为空。
示例代码
var demo = api.require("tyRTC");
var param = {
userName:@"8889",
msg:"Hello RTC!"
};
demo.sendMessage(param);
补充说明
结果上报至cbMessageStatus回调函数
可用性
iOS系统,Android系统
switchCamera
切换摄像头
switchCamera({params})
params
value:
- 类型:字符串
- 默认值:无
- 描述:前置摄像头:”front”,后置摄像头:”back”,美颜:”beauty”(“beauty” 只对android有效,只在对端有效,本地视频窗口无效。)
示例代码
var param = {
value:"back"
};
var demo = api.require('tyRTC');
demo.switchCamera(param);
补充说明
支持点对点和多人通话
可用性
iOS系统,Android系统
rotateCamera
旋转摄像头
rotateCamera({params})
params
value:
- 类型:整数
- 默认值:无
- 描述:画面逆时针旋转。0:旋转0度;1:旋转90度;2:旋转180度,3:旋转270度
示例代码
var param = {
value:1
};
var demo = api.require('tyRTC');
demo.rotateCamera(param);
补充说明
支持点对点和多人通话
可用性
iOS系统,Android系统
switchView
交换本地与远端视频画面
switchView()
示例代码
var demo = api.require('tyRTC');
demo.switchView();
补充说明
无
可用性
iOS系统,Android系统
hideLocalView
隐藏本地画面,对端将看不到本端的画面,显示黑屏
hideLocalView({params})
params
value:
- 类型:字符串
- 默认值:无
- 描述:显示:”show”,隐藏:”hide”
示例代码
var param = {
value:"hide"
};
var demo = api.require('tyRTC');
demo.hideLocalView(param);
补充说明
无
可用性
iOS系统,Android系统
groupCreate groupMember groupInvite groupList groupJoin groupKick groupClose groupMic groupVideo
groupCreate
创建多人会议
groupCreate({params})
params
members:
- 类型:字符串
- 默认值:无
- 描述:参会成员账号,多个账号之间以英文逗号隔开,发起人账号不用传入,不能为空。账号不可包含“~”、“-”、空格、中文字符。
groupType:
- 类型:整数
- 默认值:0
- 描述:会议类型,不能为空。取值如下: 0:多人语音群聊,每个成员均为可发言状态; 1:多人语音对讲,所有成员默认为禁言状态,均需抢麦才可发言,同时只有1个成员可以发言; 2:多人两方语音,发起方(即主持人)是可发言状态,其他成员默认为禁言状态,需要主持人给麦才可发言,同时只有主持人和1个有麦成员可以发言; 9:多人语音微直播,发起方(即直播方)是可发言状态,其他成员均为禁言状态,只能收听不能发言; 20:多人视频群聊(语音+视频); 21:多人视频对讲(语音+视频); 22:多人两方视频(语音+视频); 29:多人视频微直播(语音+视频);
groupName:
- 类型:字符串
- 默认值:无
- 描述:群组名称,不能为空
passWord:
- 类型:字符串
- 默认值:无
- 描述:自定义的会议密码,不能为空。
max:
- 类型:整数
- 默认值:16
- 描述:会议成员数上限,可以为空。
screenSplit:
- 类型:整数
- 默认值:0
- 描述:分屏数量,可以为空。0:由多人服务器自行设置分屏数量,1:1x1,2:1x2,3:2x2,4:2x3,5:3x3
lv:
- 类型:整数
- 默认值:0
- 描述:是否启用语音激励,可以为空。0:不启用,1:启用。
示例代码
var param = {
members:"56681,56682",
groupType:0,
groupName:"myGroup",
passWord:"123456"
};
var demo = api.require('tyRTC');
demo.groupCreate(param);
补充说明
调用接口的结果返回至cbGroupStatus回调函数
可用性
iOS系统,Android系统
groupMember
获取会议成员列表
groupMember()
示例代码
var demo = api.require('tyRTC');
demo.groupMember();
补充说明
调用接口的结果返回至cbGroupStatus回调函数
可用性
iOS系统,Android系统
groupInvite
邀请成员加入会议
groupInvite({params})
params
members:
- 类型:字符串
- 默认值:无
- 描述:参会成员账号,多个账号之间以英文逗号隔开,不能为空。账号不可包含“~”、“-”、空格、中文字符。
示例代码
var param = {
members:"56682"
};
var demo = api.require('tyRTC');
demo.groupInvite(param);
补充说明
调用接口的结果返回至cbGroupStatus回调函数
可用性
iOS系统,Android系统
groupList
查询当前appid的应用所有正在进行的会议
groupList()
示例代码
var demo = api.require('tyRTC');
demo.groupList();
补充说明
调用接口的结果返回至cbGroupStatus回调函数
可用性
iOS系统,Android系统
groupJoin
主动加入会议
groupJoin({params})
params
callId:
- 类型:字符串
- 默认值:无
- 描述:要加入会议的会议id,不能为空
passWord:
- 类型:字符串
- 默认值:无
- 描述:要加入会议的的会议密码,不能为空。
示例代码
var param = {
callId:"abcdef",
passWord:"123456"
};
var demo = api.require('tyRTC');
demo.groupJoin(param);
补充说明
调用接口的结果返回至cbGroupStatus回调函数
可用性
iOS系统,Android系统
groupKick
踢出会议成员
groupKick({params})
params
members:
- 类型:字符串
- 默认值:无
- 描述:要踢出的成员账号,多个账号之间以英文逗号隔开,不能为空。账号不可包含“~”、“-”、空格、中文字符。
示例代码
var param = {
members:"56682"
};
var demo = api.require('tyRTC');
demo.groupKick(param);
补充说明
调用接口的结果返回至cbGroupStatus回调函数
可用性
iOS系统,Android系统
groupClose
结束会议
groupClose()
示例代码
var demo = api.require('tyRTC');
demo.groupClose();
补充说明
调用接口的结果返回至cbGroupStatus回调函数
可用性
iOS系统,Android系统
groupMic
在对讲模式下进行抢麦和释麦操作;在主持人模式下,进行给麦和收麦操作
groupMic({params})
params
members:
- 类型:字符串
- 默认值:无
- 描述:要操作的成员账号,多个账号之间以英文逗号隔开,不能为空。账号不可包含“~”、“-”、空格、中文字符。
upMode:
- 类型:整数
- 默认值:0
- 描述:上行媒体流控制,以音频方式发起的会议,控制方式不能带有视频。0:禁止发送语音,收回麦克。1:允许发送语音,给麦。2:禁止发送视频。3:允许发送视频。4:禁止发送语音+视频。5:允许发送语音+视频
downMode:
- 类型:整数
- 默认值:0
- 描述:下行媒体流控制,以音频方式发起的会议,控制方式不能带有视频。0:禁止发送语音,收回麦克。1:允许发送语音,给麦。2:禁止发送视频。3:允许发送视频。4:禁止发送语音+视频。5:允许发送语音+视频
示例代码
var param = {
members:"56681,56682",
upMode:0,
downMode:0
};
var demo = api.require('tyRTC');
demo.groupMic(param);
补充说明
调用接口的结果返回至cbGroupStatus回调函数
可用性
iOS系统,Android系统
groupVideo
多人视频画面管理
groupVideo({params})
params
screenSplit:
- 类型:整数
- 默认值:0
- 描述:分屏数量,可以为空。0:由多人服务器自行设置分屏数量。1:1x1,2:1x2,3:2x2,4:2x3,5:3x3
lv:
- 类型:整数
- 默认值:0
- 描述:是否启用语音激励,可以为空。0:不启用,1:启用。
示例代码
var param = {
screenSplit:3
};
var demo = api.require('tyRTC');
demo.groupVideo(param);
补充说明
调用接口的结果返回至cbGroupStatus回调函数
可用性
iOS系统,Android系统
错误码
错误类型
取值范围:
- 400 //请求类错误4xx的下界
- 403 //被踢或token失效,请重新获取token,重新注册
- 404 //呼叫的号码不存在,被叫号码从未获取token登录过
- 408 //超时,请求服务器超时或被呼叫方网络异常
- 480 //对方不在线,对方未登陆,或网络异常断开一段时间
- 486 //正忙
- 487 //取消呼叫
- 488 //媒体协商失败
- 500 //服务器类错误5xx的下界
- 503 //网络不可用或服务器错误
- 600 //全局错误6xx的下界
- 603 //被叫拒接,或服务器拒绝请求
- 891 //已经在其他地方接听
- 1001 //内存错误;或网络断开,可选择是否挂断正在进行的通话
- 1002 //参数错误;或连接上了网络,可以继续呼叫
- 1003 //缺少参数;或网络闪断,可以忽略,不影响呼叫
- 1004 //重置参数失败;或重连失败应用可以选择重新登录,应限制呼叫
- 1005 //呼叫失败
- 1006 //呼叫结束
- 1007 //动作失败
- 1008 //sdk已初始化
- 1009 //sdk初始化不完整
- 1010 //容量溢出
- 1011 //无效函数
- 1500 同一账号在另一同类型终端登录,被踢,应限制呼叫
- 1501 同一账号在不同类型终端登录,不影响呼叫
- 3011 //操作失败
- 3012 //成员已在其他会议中
- 3059 //被控制的会议不存在
- 3061 //会议中不存在此成员
- 3062 //没有权限控制
- 3064 //要加入的会议不存在