✾ 说明
(1)实时音频、实时视频均通过相同的接口进行调用
遵循相同的业务流程。不同的业务通过呼叫接口参数callType进行区分,1视频、0音频。
(2)接口逻辑
接口调用是采取异步调用的方式。所有的呼叫相关接口的调用结果通过回调接口RL_YTX.onCallMsgListener来接受服务端返回的各种状态。
(3)业务流程
a、客户A呼叫客户B发起请求
b、云通讯服务端收到A请求并把请求转发给B
c、客户B收到请求并应答
d、云通讯服务端收到B应答并转发A
e、A收到应答,通话建立。
//view 是展示对方的影像或声音 // localView是展示自己的影像或声音 //这里的 view 和 localView 根据实际需要选择video标签或者audio标签,要求是dom元素 RL_YTX.setCallView(view,localView);
var makeCallBuilder= new RL_YTX.MakeCallBuilder(); makeCallBuilder.setCalled(‘John的号码’); makeCallBuilder.setCallType(1);//呼叫的类型 0 音频 1视频 RL_YTX.setCallView(view,localView); //呼叫类型1的时候这么传 // RL_YTX.setCallView(view,null);//呼叫类型是0的时候这么传 RL_YTX.makeCall(makeCallBuilder, function(){ //呼叫成功 }, function callback(obj){ obj.code //错误码 })
var voipAcceptBuilder = new RL_YTX.AcceptCallBuilder(); voipAcceptBuilder.setCallId(callId);//请求的callId, voipAcceptBuilder.setCaller(caller);//请求的主叫号码,即Tony的号码 //通过RL_YTX.onCallMsgListener(callback)中的callback.callId属性获得callId //通过RL_YTX.onCallMsgListener(callback)中的callback.caller属性获得caller RL_YTX.accetpCall(voipAcceptBuilder, function(){ }, function callback(obj){ alert(obj. code) //错误码 })
var VoipRejectBuilder = new RL_YTX.RejectCallBuilder(); VoipRejectBuilder.setCallId(callId);//请求的callId VoipRejectBuilder.setCaller(caller);//请求的主叫号码,即Tony的号码 //通过RL_YTX.onCallMsgListener(callback)中的callback.callId属性获得callId //通过RL_YTX.onCallMsgListener(callback)中的callback.caller属性获得caller //通过RL_YTX.onCallMsgListener(callback)中的callback.reason属性获得reason RL_YTX.rejectCall(VoipRejectBuilder,function(){ }, function(obj){ alert(obj.code) })
var VoipReleaseBuilder = new RL_YTX.ReleaseCallBuilder(); VoipReleaseBuilder.setCallId(callId);//请求的callId VoipReleaseBuilder.setCaller(caller);//请求的主叫号码,即Tony的号码 VoipReleaseBuilder.setCalled(called);// 请求的被叫号码,即John的号码 //通过RL_YTX.onCallMsgListener(callback)中的callback.callId属性获得callId //通过RL_YTX.onCallMsgListener(callback)中的callback.caller属性获得called //通过RL_YTX.onCallMsgListener(callback)中的callback.called属性获得caller RL_YTX.releaseCall(VoipReleaseBuilder,function(){ }, function(obj){ alert(obj.code) })
RL_YTX.setRecordVideo();
RL_YTX.onCallMsgListener(function(obj){ obj.callId;//唯一消息标识 obj.caller;//主叫号码 obj.called; //被叫无值 obj.callType;//0 音频 1 视频 obj.state; //1 对方振铃(被叫的振铃消息) 2 呼叫中(主叫呼叫发送成功返回该值) 3 呼叫建立(被叫接收后主叫监听到该值) //4 呼叫失败(对主叫;对方拒绝或者忙) 5 结束通话(主叫取消成功和主、被叫挂机成功后得到该值) //6 呼叫到达(被叫监听到呼叫请求时获得该值) //7 媒体已正式建立连接(被叫获取该值) obj.code;// 200操作成功,非200代表因本地原因,导致无法接受音视频邀请(例如不支持音视频等),具体原因请参照错误码 }
文档更新时间:2017年12月12日