开启和关闭视频

更新时间: 2023/10/19 06:13:35

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

功能介绍

NERoom SDK 支持通过 unmuteMyVideomuteMyVideo 开启或关闭本地视频流的采集与上行。

通过 unmuteMemberVideomuteMemberVideo 开启或关闭房间内某个成员的视频。

注意事项

您需要先调用 setupLocalVideoCanvas 方法开启本地视图后才能发布视频流。

开启本地视频

配置步骤

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

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

  2. 调用 setupLocalVideoCanvas 方法设置本地画布。

  3. 调用 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 ?? "")")
        } 
    }

关闭本地视频

配置步骤

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

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

  2. 调用 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 ?? "")")
        } 
    }

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

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

配置步骤

  1. 加入房间后,调用 getRoomContext 方法获取房间上下文。

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

  2. 调用 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("关闭视频失败")
        }
    }

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

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

配置步骤

  1. 加入房间后,调用 getRoomContext 方法获取房间上下文。

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

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

  3. 调用 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 打开房间内某个成员的视频。
此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 注意事项
  • 开启本地视频
  • 配置步骤
  • 示例代码
  • 关闭本地视频
  • 配置步骤
  • 示例代码
  • 关闭房间内其他成员的视频
  • 配置步骤
  • 示例代码
  • 打开房间内其他成员的视频
  • 配置步骤
  • 示例代码
  • API 参考