通话监听
融云 calllib-uni 库提供了如下监听函数, 用于处理呼叫相关的业务逻辑上报。
添加监听
-
监听通话呼入,通过回调
CallLib.onCallReceived
监听。代码示例
CallLib.onCallReceived( (res)=> {
console.log("Engine:OnCallReceived=>"+"监听通话呼入, 目标id=>", res.data.targetId);
}); -
开始呼叫通话,电话已拨出,通过回调
CallLib.onCallOutgoing
监听。代码示例
CallLib.onCallOutgoing((res)=>{
console.log("主叫端拨出电话后,通过回调 onCallOutgoing,通知当前 call 的详细信息",res)
}) -
已建立通话,通过回调
CallLib.onCallConnected
监听。代码示例
CallLib.onCallConnected((res)=>{
console.log("Engine:OnCallConnected=>"+"通话接通时,通过回调 onCallConnected 通知当前 call 的详细信息", res)
}); -
通话结束,通过回调
CallLib.OnCallDisconnected
监听。reason
表示挂断原因。具体请参见挂断通话原因。代码示例
CallLib.onCallDisconnected((res)=>{
console.log("Engine:OnCallDisconnected=>"+"挂断成功, 挂断原因=>", res.data.reason)
}) -
被叫端正在振铃,通过回调
CallLib.onRemoteUserRinging
监听。代码示例
CallLib.onRemoteUserRinging((res)=>{
console.log("主叫端拨出电话,被叫端收到请求,发出振铃响应时触发,对端Id为=>", res.data.userId)
}) -
对端用户加入了通话,通过回调
CallLib.onRemoteUserJoined
监听。代码示例
CallLib.onRemoteUserJoined((res)=>{
console.log("Engine:OnRemoteUserJoined=>"+"主叫端拨出电话,被叫端收到请求后,加入通话,被叫端Id为=>", res.data.userId);
}) -
通话中的某一个参与者,邀请好友加入通话,通过回调
CallLib.OnRemoteUserInvited
监听。代码示例
CallLib.onRemoteUserInvited((res)=>{
console.log("Engine:OnRemoteUserInvited=>"+"通话中的某一个参与者,邀请好友加入通话,发出邀请请求后,远端Id为=>", res.data.userId)
}) -
通话中的远端参与者离开,通过回调
CallLib.OnRemoteUserLeft
监听。reason
表示挂断原因。具体请参见挂断通话原因。代码示例
CallLib.onRemoteUserLeft((res)=>{
console.log("Engine:OnRemoteUserLeft=>"+"远端用户挂断,远端Id为=>", res.data.reason)
}) -
通话中某一个参与者切换通话类型,通过回调
CallLib.onRemoteUserMediaTypeChanged
监听。代码示例
CallLib.onRemoteUserMediaTypeChanged((res)=>{
console.log("当通话中的某一个参与者切换通话类型,例如由 audio 切换至 video,回调 onRemoteUserMediaTypeChanged,切换媒体类型的Id为=>",res.data.user.userId);
}) -
通话过程中发生异常,通过回调
CallLib.onError
监听。reason原因详情代码示例
CallLib.onError((res)=>{
console.log("通话过程中,发生异常,异常原因=>",res.data.reason)
})
移除监听
-
移除监听-接收到通话呼入。
代码示例
CallLib.removeCallReceivedListener()
-
移除监听-开始呼叫通话的回调。
代码示例
CallLib.removeCallOutgoingListener()
-
移除监听-通话已接通。
代码示例
CallLib.removeCallReceivedListener()
-
移除监听-通话已结束。
代码示例
CallLib.removeCallDisconnectedListener()
-
移除监听-对端用户正在振铃。
代码示例
CallLib.removeRemoteUserRingingListener()
-
移除监听-对端用户加入了通话。
代码示例
CallLib.removeRemoteUserJoinedListener()
-
移除监听-有用户被邀请加入通话。
代码示例
CallLib.removeRemoteUserInvited()
-
移除监听-对端用户挂断。
代码示例
CallLib.removeRemoteUserLeftListener()
-
移除监听-对端用户切换了媒体类型。
代码示例
CallLib.removeRemoteUserMediaTypeChangedListener()
-
移除监听-通话出现错误的回调。
代码示例
CallLib.removeErrorListener()