开启和关闭视频

更新时间: 2024/09/09 14:10:03

本文介绍如何通过 NERoom SDK 开启或关闭视频,包括本人的视频或房间内其他成员的视频。。

注意事项

  1. 您需要先调用 joinRoom 方法加入 NERoom 的房间,并且此房间开启了 RTC 房间的配置,即在创建房间时,已在NECreateRoomOptions方法中,设置enableRtc 参数为 true,具体操作方法请参见创建房间
  2. 您需要先调用 setupLocalVideoCanvas 方法开启本地视图后才能发布视频流。

打开本地视频

配置步骤

  1. 调用 getRoomContext 方法获取房间上下文。

    调用此方法时,您需要将 roomUuid 设置为您所加入房间的 ID。

  2. 调用 setupLocalVideoCanvas 方法设置本地画布(参数为页面元素)。

  3. 调用 unmuteMyVideo 方法发布本地视频流。

示例代码

/**
 * 获取房间上下文NERoomContext
 * @param roomUuid 房间ID
 */
const NERoomContext = NERoomService.getRoomContext(roomUuid)

NERoomContext.rtcController.setupLocalVideoCanvas(view)

NERoomContext.rtcController.unmuteMyVideo().then(res => {
    console.log(res, 'unmuteMyVideo success')
}).catch(err => {
    console.error(res, 'unmuteMyVideo fail')
})

关闭本地视频

配置步骤

  1. 调用 getRoomContext 方法获取房间上下文。

    调用此方法时,您需要将 roomUuid 设置为您所加入房间的 ID。

  2. 调用 muteMyVideo 方法停止发布本地视频流。

示例代码

/**
 * 获取房间上下文NERoomContext
 * @param roomUuid 房间ID
 */
const NERoomContext = NERoomService.getRoomContext(roomUuid)

NERoomContext.rtcController.muteMyVideo().then(res => {
    console.log(res, 'muteMyVideo success')
}).catch(err => {
    console.error(res, 'muteMyVideo fail')
})

关闭房间内其他成员的视频

注意事项

您可以在云信控制台上配置某角色是否具备关闭房间内其他成员的视频的权限,只有具备该权限的角色才可以执行此操作。

配置步骤

  1. 调用 getRoomContext 方法获取房间上下文。

    调用此方法时,您需要将 roomUuid 设置为您所加入房间的 ID。

  2. 调用 muteMemberVideo 方法,关闭房间中某个成员的视频。

    一次只能传入一个成员的 uuid。

示例代码

/**
 * 获取房间上下文NERoomContext
 * @param roomUuid 房间ID
 */
const NERoomContext = NERoomService.getRoomContext(roomUuid)

/**
 * 关闭房间内其他成员的视频
 * @param userUuid 用户id
 */
NERoomContext.rtcController.muteMemberVideo(userUuid).then(res => {
    console.log(res, 'muteMemberVideo success')
}).catch(err => {
    console.error(res, 'muteMemberVideo fail')
})

打开房间内其他成员的视频

注意事项

您可以在云信控制台上配置某角色是否具备打开房间内其他成员的视频的权限,只有具备该权限的角色才可以执行此操作。

配置步骤

  1. 调用 getRoomContext 方法获取房间上下文。

    调用此方法时,您需要将 roomUuid 设置为您所加入房间的 ID。

  2. 调用 setupRemoteVideoCanvas 方法设置远端成员画布。

  3. 调用 unmuteMemberVideo 方法,打开房间中某个成员的视频。

    一次只能传入一个成员的 uuid。

示例代码

/**
 * 获取房间上下文NERoomContext
 * @param roomUuid 房间ID
 */
const NERoomContext = NERoomService.getRoomContext(roomUuid)
/**
 * 设置远端成员画布
 * @param view 画布元素
 * @param userUuid 成员id
 */
NERoomContext.rtcController.setupRemoteVideoCanvas(view, userUuid)
/**
 * 关闭房间内其他成员的视频
 * @param userUuid 用户id
 */
NERoomContext.rtcController.unmuteMemberVideo(userUuid).then(res => {
    console.log(res, 'muteMemberVideo success')
}).catch(err => {
    console.error(res, 'unmuteMemberVideo fail')
})

API 参考

方法 功能描述
joinRoom 加入 NERoom 的房间
getRoomContext 获取房间上下文
muteMyVideo 关闭本地视频
unmuteMyVideo 打开本地视频
setupLocalVideoCanvas 设置本地视图。
muteMemberVideo 关闭房间内某个成员的视频。
unmuteMemberVideo 打开房间内某个成员的视频。
此文档是否对你有帮助?
有帮助
去反馈
  • 注意事项
  • 打开本地视频
  • 配置步骤
  • 示例代码
  • 关闭本地视频
  • 配置步骤
  • 示例代码
  • 关闭房间内其他成员的视频
  • 注意事项
  • 配置步骤
  • 示例代码
  • 打开房间内其他成员的视频
  • 注意事项
  • 配置步骤
  • 示例代码
  • API 参考