( 最近更新时间:2020-04-28 19:00:00 )

    # 观众上麦

    # 角色变更

    观众收到邀请后执行 changeLiveRole 变更当前角色。

    代码示例

    rongRTC.changeLiveRole(RongRTC.ROLE.ANCHOR).then(function () {
      //需要按主播连接方式进行加入房间,并发布资源,请参考主播模块集成文档
    });
    
    已复制
    1
    2
    3
    # 加入房间
    1. 加入直播间前需要先实例化 Room 实例。
    2. 调用 join 加入需要连麦的房间 roomId 必须一致,详细请参考 加入房间 文档。

    代码示例

    实例化

    var room = new Room({
      id: 'roomId',
      joined: function(user){
        // user.id 加入房间
      },
      left: function(user){
        // user.id 离开房间
      }
    });
    
    已复制
    1
    2
    3
    4
    5
    6
    7
    8
    9

    加入房间

    room.join({id: '请填写用户 ID',}).then(() => {
      console.log('join successfully');
    }, error => {
      console.log(error);
    });
    
    已复制
    1
    2
    3
    4
    5
    # 发布资源
    1. 发布资源需要先实例化 Stream 实例,实例化 Stream 后可获得 stream 实例。stream 实例下有对媒体流进行操作的方法,例如发布与订阅等
    2. 加入房间成功后您可以通过 stream.get() 获取本地视频,在通过 stream.publish() 发布本地音视频流。
    3. 用户发布视频流、取消视频流将会触发实例化时设置的回掉函数: publishedunpublished

    接口详细介绍请参考主播端 发布资源 文档。

    代码示例

    private void publishDefaultLiveAVStream() {
        RongRTCRoom.getLocalUser().publishDefaultLiveAVStream(new RongRTCDataResultCallBack<RongRTCLiveInfo>() {
            @Override
            public void onSuccess(RongRTCLiveInfo rongRTCLiveInfo) {
              //TODO 获取到 rongRTCLiveInfo.getLiveUrl() 提供给观众使用
            }
    
            @Override
            public void onFailed(RTCErrorCode rtcErrorCode) {
    
            }
        });
    }
    
    已复制
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    # 观众下麦

    # 离开房间

    调用 room.leave 退出房间,和 主播端 离开房间 一致。

    代码示例

    room.leave().then(() => {
      console.log('leave successfully');
    }, error => {
      console.log(error);
    });
    
    已复制
    1
    2
    3
    4
    5
    # 订阅资源

    调用 stream.subscribe 传入直播间的 liveUrl

    代码示例

    stream.subscribe({liveUrl:liveUrl}).then((res) => {
      let { mediaStream} = res;
      let node = document.createElement('video');
      node.autoplay = true;
      node.srcObject = mediaStream;
      document.body.appendChild(node);
    });
    
    已复制
    1
    2
    3
    4
    5
    6
    7

    文档是否解决您的问题 ?

    如果遇到产品相关问题,您可 提交工单 寻求帮助