开启和关闭视频
更新时间: 2024/09/09 14:10:03
本文介绍如何通过 NERoom SDK 开启或关闭视频,包括本人的视频或房间内其他成员的视频。。
注意事项
- 您需要先调用 joinRoom 方法加入 NERoom 的房间,并且此房间开启了 RTC 房间的配置,即在创建房间时,已在
NECreateRoomOptions
方法中,设置enableRtc
参数为 true,具体操作方法请参见创建房间。 - 您需要先调用 setupLocalVideoCanvas 方法开启本地视图后才能发布视频流。
打开本地视频
配置步骤
-
调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 -
调用
setupLocalVideoCanvas
方法设置本地画布(参数为页面元素)。 -
调用
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')
})
关闭本地视频
配置步骤
-
调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 -
调用
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')
})
关闭房间内其他成员的视频
注意事项
您可以在云信控制台上配置某角色是否具备关闭房间内其他成员的视频的权限,只有具备该权限的角色才可以执行此操作。
配置步骤
-
调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 -
调用
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')
})
打开房间内其他成员的视频
注意事项
您可以在云信控制台上配置某角色是否具备打开房间内其他成员的视频的权限,只有具备该权限的角色才可以执行此操作。
配置步骤
-
调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 -
调用
setupRemoteVideoCanvas
方法设置远端成员画布。 -
调用
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 | 打开房间内某个成员的视频。 |
此文档是否对你有帮助?