首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >进入到房间之后就直接调用了exitRoom,且监听的LOCAL_JOIN也没有触发,是我写错代码了?

进入到房间之后就直接调用了exitRoom,且监听的LOCAL_JOIN也没有触发,是我写错代码了?

提问于 2021-03-17 15:15:09
回答 2关注 1查看 383
const rtcConfig = {
   userSig: userSig,
   debugMode: true, // 非必要参数,打开组件的调试模式,开发调试时建议设置为 true
   audioVolumeType: 'media', //系统音量类型 media:媒体音量。voicecall:通话音量。
   enableMic: true, //是否开启麦克风。设置为 true 时,调用 enterRoom 后,会自动发布音频
   enableCamera: true, //是否开启摄像头。设置为 true 时,调用 enterRoom 后,会自动发布视频
}
this.setData({
   rtcConfig: Object.assign(this.data.rtcConfig, rtcConfig),
}, () => {
   // 监听TRTC Room 关键事件
   this.bindTRTCRoomEvent()
})
bindTRTCRoomEvent() {
    let trtcRoomContext = this.selectComponent('#trtc-component')
    let EVENT = trtcRoomContext.EVENT

    if (trtcRoomContext) {
      trtcRoomContext.on(EVENT.LOCAL_JOIN, (event) => {
        console.log('成功进入房间',event)
        // 进房成功后发布本地音频流和视频流 
        trtcRoomContext.publishLocalVideo()
        trtcRoomContext.publishLocalAudio()
      },this)
      // 监听远端用户的视频流的变更事件
      trtcRoomContext.on(EVENT.REMOTE_VIDEO_ADD, (event) => {
        console.log('EVENT.REMOTE_VIDEO_ADD',event)
        // 订阅(即播放)远端用户的视频流
        let userID = event.data.userID
        let streamType = event.data.streamType // 'main' or 'aux'            
        trtcRoomContext.subscribeRemoteVideo({
          userID: userID,
          streamType: streamType
        })
      })

      // 监听远端用户的音频流的变更事件
      trtcRoomContext.on(EVENT.REMOTE_AUDIO_ADD, (event) => {
        console.log('EVENT.REMOTE_AUDIO_ADD',event)
        // 订阅(即播放)远端用户的音频流
        let userID = event.data.userID
        trtcRoomContext.subscribeRemoteAudio({
          userID: userID
        })
      })

      // 进入房间
      trtcRoomContext.enterRoom({
        roomID: this.data.roomId
      }).catch((res) => {
        console.error('room joinRoom 进房失败:', res)
      })
    }
  },
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档