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”的值。
  • 配置示例:
  1. <feature name="tyRTC">
  2. <param name="enablelog" value="0" />
  3. <param name="notification" value="callName" />
  4. <param name="notificationGrp" value="群组来电:grpName" />
  5. </feature>
  • 描述:backgroundMode作用是让应用在后台时保持长连接。若应用配置此项后,上架AppStore时需要提供后台接听的演示视频,并备注后台接听的操作步骤,以免上架被拒。
  • 配置示例:
  1. <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为关闭:

  1. <feature name="tyRTC">
  2. <param name="enableAPNs" value="1" />
  3. <param name="pushid" value="替换为RTC官方分配的pushid" />
  4. <param name="pushkey" value="替换为RTC官方分配的pushkey" />
  5. <param name="pushmastersecret" value="替换为RTC官方分配的pushmastersecret" />
  6. </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,不能为空

示例代码

  1. var setparam = {
  2. appId:"70038",
  3. appKey:"MTQxMDkyMzU1NTI4Ng=="
  4. };
  5. var demo = api.require('tyRTC');
  6. 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。账号不可包含“~”、“-”、空格字符

示例代码

  1. var jsonObj1 = {};
  2. jsonObj1.x = 55;
  3. jsonObj1.y = 240;
  4. jsonObj1.w = 130;
  5. jsonObj1.h = 170;
  6. var jsonObj2 = {};
  7. jsonObj2.x = 190;
  8. jsonObj2.y = 240;
  9. jsonObj2.w = 130;
  10. jsonObj2.h = 170;
  11. var json = {};
  12. json.localView = jsonObj1;
  13. json.remoteView = jsonObj2;
  14. var setparam = {
  15. jsonViewConfig:JSON.stringify(json),
  16. userName:"5668"
  17. };
  18. var demo = api.require('tyRTC');
  19. demo.login(setparam);

补充说明

登录结果返回至cbLogStatus回调函数 登录成功后可以继续调用此接口设置视频窗口尺寸

可用性

iOS系统,Android系统

logout

退出RTC平台

logout()

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.logout();

补充说明

注销结果返回至cbLogStatus回调函数

可用性

iOS系统,Android系统

setGlobalStatusListener

设置回调函数,监听客户端全局状态

setGlobalStatusListener(onGlobalStatus(data))

onGlobalStatus(data)

data:

  • 类型:字符串
  • 描述:返回客户端实时状态,详情如下:

    1. "ClientListener:onInit,result=":result为初始化结果
    2. "获取token: reason:":获取token结果,reason为失败原因
    3. "DeviceListener:onNewCall,call=":有新来电,call为来电信息,其中"ci"为对方携带的呼叫信息(即callInfo参数),"t"为呼叫类型(1:音频,3:音+视频),"dir"为呼叫方向(1:去电,2:来电),"uri"为对方账号
    4. "DeviceListener:rejectIncomingCall call=":当前已处在通话中,拒绝新的点对点来电,call为来电信息,其中"ci"为对方携带的呼叫信息(即callInfo参数),"t"为呼叫类型(1:音频,3:音+视频),"dir"为呼叫方向(1:去电,2:来电),"uri"为对方账号
    5. "ConnectionListener:onConnecting":通话请求连接中
    6. "ConnectionListener:onConnected":通话已接通
    7. "ConnectionListener:onVideo":通话接通后,媒体建立成功
    8. "ConnectionListener:onDisconnect,code=":通话连接中断,code为错误码
    9. "StateChanged,result=200":登录成功
    10. "StateChanged,result=-1001":没有网络
    11. "StateChanged,result=-1002":切换网络
    12. "StateChanged,result=-1003":网络较差
    13. "StateChanged,result=-1004":重连失败需要重新登录
    14. "StateChanged,result=-1500":同一账号在多个终端登录被踢下线
    15. "StateChanged,result=-1501":同一账号在多个设备类型登录
    16. "call hangup":主动挂断
    17. "onReceiveIm:from:,msg:":接收到文本消息,from为发送账号,msg为消息内容
    18. "TaponVideo":仅适用于iOS,当单击视频窗口时触发
    19. "APNs:xxx":仅适用于iOSxxx为推送内容。以下三种情况会触发此回调。a)当应用未启动的情况下收到通知后,点击或滑动通知会触发应用启动,并触发回调;b)当应用在前台运行的情况下收到来电,不会弹出通知,但会触发回调;c)当应用在后台运行的情况下收到通知后,点击或滑动通知会进入应用,并触发回调。

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.setGlobalStatusListener(onGlobalStatus);
  3. function onGlobalStatus(data){
  4. alert(data);
  5. }

补充说明

可在登录之前调用此接口设置回调函数

可用性

iOS系统,Android系统

setLogStatusListener

设置客户端注册至RTC平台的回调函数

setLogStatusListener(cbLogStatus(data))

cbLogStatus(data)

data:

  • 类型:字符串
  • 描述:返回客户端注册至RTC平台的结果,详情如下:

    1. OK:LOGIN”:登录成功
    2. OK:LOGOUT”:退出成功
    3. ERROR:PARM_ERROR”:登录参数有误
    4. ERROR:UNINIT”:RTC平台未初始化
    5. ERROR:error_msg”:error_msg为其他错误信息,如获取token失败

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.setLogStatusListener(cbLogStatus);
  3. function cbLogStatus(data){
  4. alert(data);
  5. }

补充说明

可在登录之前调用此接口设置回调函数

可用性

iOS系统,Android系统

setCallStatusListener

设置呼叫状态的回调函数

setCallStatusListener(cbCallStatus(data))

cbCallStatus(data)

data:

  • 类型:字符串
  • 描述:返回呼叫的结果,详情如下:

    1. OK:NORMAL”:正常状态(未通话,也无来电)
    2. OK:INCOMING”:有来电,等待接听
    3. OK:CALLING”:呼叫或通话中
    4. ERROR:PARM_ERROR”:呼叫参数有误
    5. ERROR:UNREGISTER”:未注册至RTC平台

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.setCallStatusListener(cbCallStatus);
  3. function cbCallStatus(data){
  4. alert(data);
  5. }

补充说明

可在登录之前调用此接口设置回调函数

可用性

iOS系统,Android系统

setRemotePicPathListener

设置截屏的回调函数

setRemotePicPathListener(cbRemotePicPath(data))

cbRemotePicPath(data)

data:

  • 类型:字符串
  • 描述:返回截屏图片存储的路径

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.setRemotePicPathListener(cbRemotePicPath);
  3. function cbRemotePicPath(data){
  4. alert(data);
  5. }

补充说明

可在登录之前调用此接口设置回调函数

可用性

iOS系统,Android系统

setMessageListener

设置回调函数,监听文本消息状态

setMessageListener(cbMessageStatus(data))

cbMessageStatus(data)

data:

  • 类型:字符串
  • 描述:返回收发文本消息状态,详情如下:

    1. "OK:SEND":发送文本消息成功
    2. "ERROR:code":发送文本消息失败,code为错误码
    3. "OK:RECEIVE":接收文本消息成功

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.setMessageListener(cbMessageStatus);
  3. function cbMessageStatus(data){
  4. alert(data);
  5. }

补充说明

可在登录之前调用此接口设置回调函数

可用性

iOS系统,Android系统

setGroupStatusListener

设置多人状态的回调函数

setGroupStatusListener(cbGroupStatus(data))

cbGroupStatus(data)

data:

  • 类型:字符串
  • 描述:返回多人的结果,详情如下:

    1. onNewGroupCall,call={"callid":"xx","name":"xx","type"=xx}”:有会议来电,json参数分别表示callid、群组名、会议类型
    2. rejectIncomingCall,call={"callid":"xx","name":"xx","type"=xx}”:当前已在通话中,拒绝新的多人来电,json参数分别表示callid、群组名、会议类型
    3. statusChangedInfo={"appAccountID":"xx","memberStatus":xx}”:某个成员在会状态发生变化,appAccountID表示号码,memberStatus表示在会状态(1:准备状态,2:已加入,3:未加入,4:被踢出,5:正在振铃)
    4. micChangedInfo={"appAccountID":"xx","downAudioState":xx,"downVideoState":xx,"upAudioState":xx,"upVideoState":xx}”:某个成员麦克状态发生变化,appAccountID表示号码,downAudioState表示下行音频状态,downVideoState表示下行视频状态,upAudioState表示上行音频状态,upVideoState表示上行视频状态,上下行状态分为0(关闭)、1(开启)
    5. OK:groupCreate,callid="xx"”:创建会议成功,返回callid
    6. 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表示加入会议时间(格式为“年月日时分秒”)
    7. OK:groupInvite”:邀请成员成功,被邀请成员会收到来电请求
    8. OK:groupKick”:踢出成员成功
    9. OK:groupList,list={"callid":"xx","name":"xx"},{"callid":"xx","name":"xx"}...”:获取会议列表成功,json数组,返回callid和群组名
    10. OK:noGroupList”:当前appid没有会议
    11. OK:groupJoin”:加入会议成功
    12. OK:groupClose”:关闭会议成功
    13. OK:groupMic”:操作麦克成功
    14. OK:groupVideo”:操作画面成功
    15. ERROR:PARM_ERROR”:参数有误,调用接口失败
    16. ERROR:INVALID_OPERATION”:正在发起或已在通话中
    17. ERROR:UNREGISTER”:未注册至RTC平台
    18. ERROR:groupCreate,code=xx”:创建会议失败,返回错误码code
    19. ERROR:groupMember,code=xx”:查询成员失败,返回错误码code
    20. ERROR:groupInvite,code=xx”:邀请成员失败,返回错误码code
    21. ERROR:groupKick,code=xx”:踢出成员失败,返回错误码code
    22. ERROR:groupJoin,code=xx”:加入会议失败,返回错误码code
    23. ERROR:groupClose,code=xx”:关闭会议失败,返回错误码code
    24. ERROR:groupMic,code=xx”:操作麦克失败,返回错误码code
    25. ERROR:groupVideo,code=xx”:操作画面失败,返回错误码code

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.setGroupStatusListener(cbGroupStatus);
  3. function cbGroupStatus(data){
  4. alert(data);
  5. }

补充说明

可在登录之前调用此接口设置回调函数

可用性

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:

  • 类型:字符串
  • 默认值:无
  • 描述:应用自定义传递的字符串,如昵称等。不可包含逗号,可以为空。

示例代码

  1. var param = {
  2. callType:2,
  3. callName:"8889",
  4. callInfo:"myName"
  5. };
  6. var demo = api.require('tyRTC');
  7. demo.call(param);

补充说明

结果上报至cbCallStatus回调函数

可用性

iOS系统,Android系统

acceptCall

接听呼叫

acceptCall({params})

params

callType:

  • 类型:整数
  • 默认值:无
  • 描述:接听类型,不能为空。1:音频,2:音+视频,3:音+视频单向接收,4:音+视频单向发送

示例代码

  1. var param = {
  2. callType:2
  3. };
  4. var demo = api.require('tyRTC');
  5. demo.acceptCall(param);

补充说明

结果上报至cbCallStatus回调函数

可用性

iOS系统,Android系统

hangUp

挂断呼叫或通话

hangUp()

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.hangUp();

补充说明

结果上报至cbCallStatus回调函数

可用性

iOS系统,Android系统

mute

设置静音/取消静音

mute({params})

params

value:

  • 类型:字符串
  • 默认值:无
  • 描述:静音:”true”,取消静音:”false”

示例代码

  1. var muteparam = {
  2. value:"true"
  3. };
  4. var demo = api.require('tyRTC');
  5. demo.mute(muteparam);

补充说明

支持点对点和多人通话

可用性

iOS系统,Android系统

loudSpeaker

设置扬声器/电话听筒

loudSpeaker({params})

params

value:

  • 类型:字符串
  • 默认值:无
  • 描述:扬声器:”true”,电话听筒:”false”

示例代码

  1. var param = {
  2. value:"true"
  3. };
  4. var demo = api.require('tyRTC');
  5. 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)

示例代码

  1. var param = {
  2. value:0
  3. };
  4. var demo = api.require('tyRTC');
  5. demo.setVideoAttr(param);

补充说明

可用性

iOS系统,Android系统

takeRemotePicture

截取远端画面

takeRemotePicture()

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.takeRemotePicture();

补充说明

支持点对点和多人通话

可用性

iOS系统,Android系统

sendMessage

发送文本消息

sendMessage({params})

params

userName:

  • 类型:字符串
  • 默认值:无
  • 描述:远端账号,不能为空。账号不可包含“~”、“-”、空格、中文字符

msg:

  • 类型:字符串
  • 默认值:无
  • 描述:文本消息,不能为空。

示例代码

  1. var demo = api.require("tyRTC");
  2. var param = {
  3. userName:@"8889",
  4. msg:"Hello RTC!"
  5. };
  6. demo.sendMessage(param);

补充说明

结果上报至cbMessageStatus回调函数

可用性

iOS系统,Android系统

switchCamera

切换摄像头

switchCamera({params})

params

value:

  • 类型:字符串
  • 默认值:无
  • 描述:前置摄像头:”front”,后置摄像头:”back”,美颜:”beauty”(“beauty” 只对android有效,只在对端有效,本地视频窗口无效。)

示例代码

  1. var param = {
  2. value:"back"
  3. };
  4. var demo = api.require('tyRTC');
  5. demo.switchCamera(param);

补充说明

支持点对点和多人通话

可用性

iOS系统,Android系统

rotateCamera

旋转摄像头

rotateCamera({params})

params

value:

  • 类型:整数
  • 默认值:无
  • 描述:画面逆时针旋转。0:旋转0度;1:旋转90度;2:旋转180度,3:旋转270度

示例代码

  1. var param = {
  2. value:1
  3. };
  4. var demo = api.require('tyRTC');
  5. demo.rotateCamera(param);

补充说明

支持点对点和多人通话

可用性

iOS系统,Android系统

switchView

交换本地与远端视频画面

switchView()

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.switchView();

补充说明

可用性

iOS系统,Android系统

hideLocalView

隐藏本地画面,对端将看不到本端的画面,显示黑屏

hideLocalView({params})

params

value:

  • 类型:字符串
  • 默认值:无
  • 描述:显示:”show”,隐藏:”hide”

示例代码

  1. var param = {
  2. value:"hide"
  3. };
  4. var demo = api.require('tyRTC');
  5. 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:启用。

示例代码

  1. var param = {
  2. members:"56681,56682",
  3. groupType:0,
  4. groupName:"myGroup",
  5. passWord:"123456"
  6. };
  7. var demo = api.require('tyRTC');
  8. demo.groupCreate(param);

补充说明

调用接口的结果返回至cbGroupStatus回调函数

可用性

iOS系统,Android系统

groupMember

获取会议成员列表

groupMember()

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.groupMember();

补充说明

调用接口的结果返回至cbGroupStatus回调函数

可用性

iOS系统,Android系统

groupInvite

邀请成员加入会议

groupInvite({params})

params

members:

  • 类型:字符串
  • 默认值:无
  • 描述:参会成员账号,多个账号之间以英文逗号隔开,不能为空。账号不可包含“~”、“-”、空格、中文字符。

示例代码

  1. var param = {
  2. members:"56682"
  3. };
  4. var demo = api.require('tyRTC');
  5. demo.groupInvite(param);

补充说明

调用接口的结果返回至cbGroupStatus回调函数

可用性

iOS系统,Android系统

groupList

查询当前appid的应用所有正在进行的会议

groupList()

示例代码

  1. var demo = api.require('tyRTC');
  2. demo.groupList();

补充说明

调用接口的结果返回至cbGroupStatus回调函数

可用性

iOS系统,Android系统

groupJoin

主动加入会议

groupJoin({params})

params

callId:

  • 类型:字符串
  • 默认值:无
  • 描述:要加入会议的会议id,不能为空

passWord:

  • 类型:字符串
  • 默认值:无
  • 描述:要加入会议的的会议密码,不能为空。

示例代码

  1. var param = {
  2. callId:"abcdef"
  3. passWord:"123456"
  4. };
  5. var demo = api.require('tyRTC');
  6. demo.groupJoin(param);

补充说明

调用接口的结果返回至cbGroupStatus回调函数

可用性

iOS系统,Android系统

groupKick

踢出会议成员

groupKick({params})

params

members:

  • 类型:字符串
  • 默认值:无
  • 描述:要踢出的成员账号,多个账号之间以英文逗号隔开,不能为空。账号不可包含“~”、“-”、空格、中文字符。

示例代码

  1. var param = {
  2. members:"56682"
  3. };
  4. var demo = api.require('tyRTC');
  5. demo.groupKick(param);

补充说明

调用接口的结果返回至cbGroupStatus回调函数

可用性

iOS系统,Android系统

groupClose

结束会议

groupClose()

示例代码

  1. var demo = api.require('tyRTC');
  2. 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:允许发送语音+视频

示例代码

  1. var param = {
  2. members:"56681,56682",
  3. upMode:0,
  4. downMode:0
  5. };
  6. var demo = api.require('tyRTC');
  7. 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:启用。

示例代码

  1. var param = {
  2. screenSplit:3
  3. };
  4. var demo = api.require('tyRTC');
  5. 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 //要加入的会议不存在