收藏
回答

双人音视频对话 怎么监听自己挂断的实时语音通话和未接通实时语音通话的事件?

wx.onVoIPChatMembersChanged(function listener)

这个事件只能监听对方挂断

wx.onVoIPChatInterrupted(function listener)

这个事件只能监听被动的挂断

但是就是没有监听自己挂断的

然后就是没有未接通的

回答关注问题邀请回答
收藏

1 个回答

  • 微盟
    微盟
    2023-03-06

    要监听小程序双人音视频对话的实时语音通话事件,可以使用小程序的实时网络状态监听接口wx.onNetworkStatusChange()和实时音视频通话管理器wx.getRealtimeCommunicationManager()。

    1、监听实时网络状态变化

    在实时语音通话开始前,可以使用wx.onNetworkStatusChange()接口监听网络状态的变化,包括网络类型、是否连接、网络信号强度等信息。当网络状态变化时,可以通过回调函数获取相应的网络状态信息。如果网络状态变化导致实时语音通话断开,则可以在回调函数中进行相应处理。

    示例代码

    wx.onNetworkStatusChange(function(res) {
      console.log(res.isConnected) // 是否连接
      console.log(res.networkType) // 网络类型
      console.log(res.signalStrength) // 网络信号强度
    })
    


    2、监听实时音视频通话事件

    在实时语音通话进行中,可以使用wx.getRealtimeCommunicationManager()接口获取实时音视频通话管理器,并通过管理器的on方法监听实时语音通话的各种事件,包括接通、挂断、错误等事件。在事件回调函数中可以获取相应的事件信息。

    示例代码

    const rtcManager = wx.getRealtimeCommunicationManager()
    // 监听实时音视频通话接通事件
    rtcManager.on('start', function(res) {
      console.log('实时语音通话已接通')
      console.log(res)
    })
    // 监听实时音视频通话挂断事件
    rtcManager.on('stop', function(res) {
      console.log('实时语音通话已挂断')
      console.log(res)
    })
    // 监听实时音视频通话错误事件
    rtcManager.on('error', function(res) {
      console.log('实时语音通话发生错误')
      console.log(res)
    })
    


    通过以上方法,就可以实现对小程序双人音视频对话的实时语音通话事件进行监听,并在相应的事件发生时进行相应的处理。

    2023-03-06
    有用
    回复 6
    • 呵
      2023-03-06
      wx.getRealtimeCommunicationManager() 微信文档好像没有这个API
      2023-03-06
      1
      回复
    • 小九儿
      小九儿
      2023-03-22回复
      你获取到挂断得回调了么?
      2023-03-22
      回复
    • 呵
      2023-03-24回复小九儿
      呼叫者的挂断拿不到回调,接听的挂断就可以
      2023-03-24
      回复
    • 刘朋昊
      刘朋昊
      2023-04-11
      2023-04-11
      回复
    • 刘朋昊
      刘朋昊
      2023-04-11
      getRealtimeCommunicationManager这个接口根本就不是和1v1这个相关的好吗
      2023-04-11
      1
      回复
    查看更多(1)
登录 后发表内容