美文网首页
微信小程序直播途中主播离开的处理办法

微信小程序直播途中主播离开的处理办法

作者: LeeYaMaster | 来源:发表于2021-03-09 15:22 被阅读0次
首先在小程序直播组件设置bindstatechange="stateChange" 方法进行监听,然后通过code来判断主播是否断线和wx.getNetworkType({})判断自己是否断线,然后进行相应的操作。

小提示:我这边是通过status改变页面,显示直播结束或者等待直播,可根据自己的想法进行调整

监听方法的链接:https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html
wxml代码:
  <live-player bindstatechange="stateChange" 
id="player" class="player" object-fit="fillCrop" 
src="{{playUrl}}" mode="RTC" autoplay />
wx.getNetworkType({})方法用的比较少,一般在直播,游戏,即时通讯(重发消息)中会用到。

链接:https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getNetworkType.html

js代码:
  stateChange(event) {
    let code = event.detail.code
    let layerContext = wx.createLivePlayerContext('player', this);
    switch (code) {
      case -2301:
        // 这里是为了恢复拉流,先停止再重新渲染
        layerContext.stop({
          success: () => {
            wx.hideLoading()
            wx.showToast({
              title: '主播回来了',
            })
            layerContext.play();
            //以下为自己的逻辑
            this.setData({
              status: 1
            })
          },
          fail: () => {
            wx.hideLoading()
            wx.showToast({
              title: '主播连不上了',
            })
            //以下为自己的逻辑
            this.setData({
              status: 2
            })
          }
        })
        //判断用户是否是自己的原因断网
        //获取网络
        wx.getNetworkType({
          success: res => {
            //是主播的原因:网络异常或主播异常退出
            if (res.networkType != "none") { 
              wx.showToast({
                title: '主播跑丢了',
                icon: 'loading',
              })
              wx.showLoading({
                title: '正在重新连接',
              })
              //以下为自己的逻辑
              this.setData({
                status: 2
              })
            } else { 
              //是用户的原因:网络异常
              wx.showToast({
                title: '请不要在山卡卡里观看直播',
                icon: 'loading',
                duration: 2000
              })
              this.setData({
                status: 2
              })
            }
          }
        })
        break;
      default:
        break;
    }
  },

相关文章

网友评论

      本文标题:微信小程序直播途中主播离开的处理办法

      本文链接:https://www.haomeiwen.com/subject/ydqbqltx.html