跳到主要内容

通话监听

融云 calllib-uni 库提供了如下监听函数, 用于处理呼叫相关的业务逻辑上报。

添加监听

  1. 监听通话呼入,通过回调 CallLib.onCallReceived 监听。

    代码示例

    CallLib.onCallReceived( (res)=> {
    console.log("Engine:OnCallReceived=>"+"监听通话呼入, 目标id=>", res.data.targetId);
    });
  2. 开始呼叫通话,电话已拨出,通过回调 CallLib.onCallOutgoing 监听。

    代码示例

    CallLib.onCallOutgoing((res)=>{
    console.log("主叫端拨出电话后,通过回调 onCallOutgoing,通知当前 call 的详细信息",res)
    })
  3. 已建立通话,通过回调 CallLib.onCallConnected 监听。

    代码示例

    CallLib.onCallConnected((res)=>{
    console.log("Engine:OnCallConnected=>"+"通话接通时,通过回调 onCallConnected 通知当前 call 的详细信息", res)
    });
  4. 通话结束,通过回调 CallLib.OnCallDisconnected 监听。reason 表示挂断原因。具体请参见挂断通话原因

    代码示例

    CallLib.onCallDisconnected((res)=>{
    console.log("Engine:OnCallDisconnected=>"+"挂断成功, 挂断原因=>", res.data.reason)
    })
  5. 被叫端正在振铃,通过回调 CallLib.onRemoteUserRinging 监听。

    代码示例

    CallLib.onRemoteUserRinging((res)=>{
    console.log("主叫端拨出电话,被叫端收到请求,发出振铃响应时触发,对端Id为=>", res.data.userId)
    })
  6. 对端用户加入了通话,通过回调 CallLib.onRemoteUserJoined 监听。

    代码示例

    CallLib.onRemoteUserJoined((res)=>{
    console.log("Engine:OnRemoteUserJoined=>"+"主叫端拨出电话,被叫端收到请求后,加入通话,被叫端Id为=>", res.data.userId);
    })
  7. 通话中的某一个参与者,邀请好友加入通话,通过回调 CallLib.OnRemoteUserInvited 监听。

    代码示例

    CallLib.onRemoteUserInvited((res)=>{
    console.log("Engine:OnRemoteUserInvited=>"+"通话中的某一个参与者,邀请好友加入通话,发出邀请请求后,远端Id为=>", res.data.userId)
    })
  8. 通话中的远端参与者离开,通过回调 CallLib.OnRemoteUserLeft 监听。reason 表示挂断原因。具体请参见挂断通话原因

    代码示例

    CallLib.onRemoteUserLeft((res)=>{
    console.log("Engine:OnRemoteUserLeft=>"+"远端用户挂断,远端Id为=>", res.data.reason)
    })
  9. 通话中某一个参与者切换通话类型,通过回调 CallLib.onRemoteUserMediaTypeChanged 监听。

    代码示例

    CallLib.onRemoteUserMediaTypeChanged((res)=>{
    console.log("当通话中的某一个参与者切换通话类型,例如由 audio 切换至 video,回调 onRemoteUserMediaTypeChanged,切换媒体类型的Id为=>",res.data.user.userId);
    })
  10. 通话过程中发生异常,通过回调 CallLib.onError 监听。reason原因详情

    代码示例

    CallLib.onError((res)=>{
    console.log("通话过程中,发生异常,异常原因=>",res.data.reason)
    })

移除监听

  1. 移除监听-接收到通话呼入。

    代码示例

    CallLib.removeCallReceivedListener()
  2. 移除监听-开始呼叫通话的回调。

    代码示例

    CallLib.removeCallOutgoingListener()
  3. 移除监听-通话已接通。

    代码示例

    CallLib.removeCallReceivedListener()
  4. 移除监听-通话已结束。

    代码示例

    CallLib.removeCallDisconnectedListener()
  5. 移除监听-对端用户正在振铃。

    代码示例

    CallLib.removeRemoteUserRingingListener()
  6. 移除监听-对端用户加入了通话。

    代码示例

    CallLib.removeRemoteUserJoinedListener()
  7. 移除监听-有用户被邀请加入通话。

    代码示例

    CallLib.removeRemoteUserInvited()
  8. 移除监听-对端用户挂断。

    代码示例

    CallLib.removeRemoteUserLeftListener()
  9. 移除监听-对端用户切换了媒体类型。

    代码示例

    CallLib.removeRemoteUserMediaTypeChangedListener()
  10. 移除监听-通话出现错误的回调。

    代码示例

    CallLib.removeErrorListener()