开启和关闭视频
更新时间: 2023/10/19 06:13:35
本文介绍如何通过 NERoom SDK 开启或关闭视频,包括本人的视频和房间内其他成员的视频。
功能介绍
NERoom SDK 支持通过 unmuteMyVideo
和 muteMyVideo
开启或关闭本地视频流的采集与上行。
通过 unmuteMemberVideo
和 muteMemberVideo
开启或关闭房间内某个成员的视频。
注意事项
您需要先调用 setupLocalVideoCanvas
方法开启本地视图后才能发布视频流。
开启本地视频
配置步骤
-
调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUid
设置为您所加入房间的 ID。 -
调用
setupLocalVideoCanvas
方法设置本地画布。 -
调用
unmuteMyVideo
方法开启本地视频采集并发布视频流。
示例代码
swift // 设置本端画布
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
let canvas = NERoomVideoView()
canvas.container = <你需要展示的视图>
roomContext.rtcController.setupLocalVideoCanvas(canvas: canvas) { code, string in
if code == 0 {
print("Successfully set up local video canvas.")
} else {
print("Failed to set up local video canvas. Reason: \(string ?? "")")
}
}
swift // 打开本地视频
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
roomContext.rtcController.unmuteMyVideo { code, string in
if code == 0 {
print("Successfully unmute my video.")
} else {
print("Failed to unmute my video. Reason: \(string ?? "")")
}
}
关闭本地视频
配置步骤
-
调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUid
设置为您所加入房间的 ID。 -
调用
muteMyVideo
方法关闭本地视频采集。
示例代码
swift let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
roomContext.rtcController.muteMyVideo { code, string in
if code == 0 {
print("Successfully mute my video.")
} else {
print("Failed to mute my video. Reason: \(string ?? "")")
}
}
关闭房间内其他成员的视频
您可以在云信控制台上配置某角色是否具备关闭房间内其他成员的视频的权限,只有具备该权限的角色才可以执行此操作。
配置步骤
-
加入房间后,调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUid
设置为您所加入房间的 ID。 -
调用
muteMemberVideo
方法,关闭房间中某个成员的视频。
示例代码
swift let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
roomContext.rtcController.muteMemberVideo(userUuid: "xxx") { code, str in
if code == 0 {
print("关闭视频成功")
} else {
print("关闭视频失败")
}
}
打开房间内其他成员的视频
您可以在云信控制台上配置某角色是否具备打开房间内其他成员的视频的权限,只有具备该权限的角色才可以执行此操作。
配置步骤
-
加入房间后,调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUid
设置为您所加入房间的 ID。 -
调用
setupRemoteVideoCanvas
方法设置远端成员画布。 -
调用
unmuteMemberVideo
方法,打开房间中某个成员的视频。
示例代码
swift let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
var canvas = NERoomVideoView()
canvas.container = UIView()
roomContext.setupRemoteVideoCanvas(canvas: canvas, userUuid: "成员ID") { code, str in
if code == 0 {
print("设置画布成功")
} else {
print("设置画布失败")
}
}
roomContext.rtcController.unmuteMemberVideo(userUuid: "xxx") { code, str in
if code == 0 {
print("打开视频成功")
} else {
print("打开视频失败")
}
}
API 参考
方法 | 功能描述 |
---|---|
getRoomContext |
获取房间上下文。 |
setupLocalVideoCanvas |
设置本地视图。 |
muteMyVideo |
关闭本地视频。 |
unmuteMyVideo |
打开本地视频。 |
muteMemberVideo |
关闭房间内某个成员的视频。 |
unmuteMemberVideo |
打开房间内某个成员的视频。 |