本地视频预览

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

在视频会议或在线教育等场景中,主讲人或老师需要在开播前预览本地视频画面。本文介绍如何通过 NERoom SDK 启用或关闭视频画面预览功能,以及如何切换摄像头。

设置本地视图并开启预览

配置步骤

  1. 调用 previewRoom 接口获取房间预览上下文。
  2. 调用setupLocalVideoCanvas方法设置本地视图。
  3. 调用 startPreview 方法开启视频预览。

示例代码

/**
 * 获取预览房间上下文NEPreviewRoomContext
 * @param params 预览参数目前可传空对象
 * @param options 预览参数目前可传空对象
 */
const NEPreviewRoomContext = NERoomService.previewRoom(params, options)

NEPreviewRoomContext.previewController.setupLocalVideoCanvas(view)

NEPreviewRoomContext.previewController.startPreview().then(res => {
    console.log(res, 'startPreview success')
}).catch(err => {
    console.error(res, 'startPreview fail')
})

关闭预览

配置步骤

调用 stopPreview 方法关闭视频预览。

示例代码

/**
 * 获取预览房间上下文NEPreviewRoomContext
 * @param params 预览参数目前可传空对象
 * @param options 预览参数目前可传空对象
 */
const NEPreviewRoomContext = NERoomService.previewRoom(params, options)

NEPreviewRoomContext.previewController.stopPreview().then(res => {
    console.log(res, 'stopPreview success')
}).catch(err => {
    console.error(res, 'stopPreview fail')
})

测试麦克风

配置步骤

  1. 调用 startRecordDeviceTest 开始测试麦克风。

  2. 调用 stopRecordDeviceTest 停止测试麦克风。

示例代码

/**
 * 开始测试麦克风
 */
NEPreviewRoomContext.previewController.startRecordDeviceTest().then(res => {
    console.log(res, 'stopPreview success')
}).catch(err => {
    console.error(res, 'stopPreview fail')
})

/**
 * 停止测试麦克风
 */
NEPreviewRoomContext.previewController.stopRecordDeviceTest().then(res => {
    console.log(res, 'stopPreview success')
}).catch(err => {
    console.error(res, 'stopPreview fail')
})

测试扬声器

配置步骤

  1. 调用 startPlayoutDeviceTest 开始测试扬声器。

  2. 调用 stopPlayoutDeviceTest 停止测试扬声器。

示例代码

/**
 * 开始测试麦克风
 */
NEPreviewRoomContext.previewController.startPlayoutDeviceTest().then(res => {
    console.log(res, 'startPlayoutDeviceTest success')
}).catch(err => {
    console.error(res, 'startPlayoutDeviceTest fail')
})

/**
 * 停止测试麦克风
 */
NEPreviewRoomContext.previewController.stopPlayoutDeviceTest().then(res => {
    console.log(res, 'startPlayoutDeviceTest success')
}).catch(err => {
    console.error(res, 'startPlayoutDeviceTest fail')
})

获取摄像头设备列表

配置步骤

调用 enumCameraDevices 获取摄像头设备列表。

示例代码

NEPreviewRoomContext.previewController.enumCameraDevices().then(res => {
    console.log(res, 'enumCameraDevices success')
}).catch(err => {
    console.error(res, 'enumCameraDevices fail')
})

获取麦克风设备列表

配置步骤

调用 enumRecordDevices 获取麦克风设备列表。

示例代码

NEPreviewRoomContext.previewController.enumRecordDevices().then(res => {
    console.log(res, 'enumRecordDevices success')
}).catch(err => {
    console.error(res, 'enumRecordDevices fail')
})

获取扬声器设备列表

配置步骤

调用 enumPlayoutDevices 获取扬声器设备列表。

示例代码

NEPreviewRoomContext.previewController.enumPlayoutDevices().then(res => {
    console.log(res, 'enumPlayoutDevices success')
}).catch(err => {
    console.error(res, 'enumPlayoutDevices fail')
})

切换摄像头设备

配置步骤

调用 setSelectedRecordDevice 切换摄像头设备。

示例代码

/**
 * 切换摄像头设备
 * @param deviceId 摄像头设备id
 */
NEPreviewRoomContext.previewController.setSelectedRecordDevice(deviceId).then(res => {
    console.log(res, 'setSelectedRecordDevice success')
}).catch(err => {
    console.error(res, 'setSelectedRecordDevice fail')
})

切换麦克风设备

配置步骤

调用 setSelectedRecordDevice 切换麦克风设备。

示例代码

/**
 * 切换麦克风设备
 * @param deviceId 麦克风设备id
 */
NEPreviewRoomContext.previewController.setSelectedRecordDevice(deviceId).then(res => {
    console.log(res, 'setSelectedRecordDevice success')
}).catch(err => {
    console.error(res, 'setSelectedRecordDevice fail')
})

切换扬声器设备

配置步骤

调用 setSelectedPlayoutDevice 切换扬声器设备。

示例代码

/**
 * 切换扬声器设备
 * @param deviceId 扬声器设备id
 */
NEPreviewRoomContext.previewController.setSelectedPlayoutDevice(deviceId).then(res => {
    console.log(res, 'setSelectedPlayoutDevice success')
}).catch(err => {
    console.error(res, 'setSelectedPlayoutDevice fail')
})

获取当前选择的摄像头设备

配置步骤

调用 getSelectedCameraDevice 获取当前选择的摄像头 ID。

示例代码

/**
 * 获取当前选择的摄像头设备id
 */
const device = NEPreviewRoomContext.previewController.getSelectedCameraDevice()

获取当前选择的扬声器设备

配置步骤

调用 getSelectedPlayoutDevice 获取当前选择的扬声器 ID。

示例代码

/**
 * 获取当前选择的扬声器设备id
 */
const device = NEPreviewRoomContext.previewController.getSelectedPlayoutDevice()

获取当前选择的麦克风设备

配置步骤

调用 getSelectedRecordDevice 获取当前选择的麦克风ID。

示例代码

/**
 * 获取当前选择的扬声器设备id
 */
const device = NEPreviewRoomContext.previewController.getSelectedRecordDevice()

API 参考

方法 功能描述
previewRoom 开启房间预览
startPreview 开启视频预览
stopPreview 关闭视频预览。
startRecordDeviceTest 开始测试麦克风
stopRecordDeviceTest 停止测试麦克风
startPlayoutDeviceTest 开始测试扬声器
stopPlayoutDeviceTest 停止测试扬声器
enumRecordDevices 切换麦克风
enumCameraDevices 切换摄像头
enumPlayoutDevices 切换扬声器
setSelectedRecordDevice 切换麦克风
setSelectedCameraDevice 切换摄像头
setSelectedPlayoutDevice 切换扬声器
getSelectedRecordDevice 切换麦克风
getSelectedCameraDevice 切换摄像头
getSelectedPlayoutDevice 切换扬声器
setupLocalVideoCanvas 设置本地视图
此文档是否对你有帮助?
有帮助
去反馈
  • 设置本地视图并开启预览
  • 配置步骤
  • 示例代码
  • 关闭预览
  • 配置步骤
  • 示例代码
  • 测试麦克风
  • 配置步骤
  • 示例代码
  • 测试扬声器
  • 配置步骤
  • 示例代码
  • 获取摄像头设备列表
  • 配置步骤
  • 示例代码
  • 获取麦克风设备列表
  • 配置步骤
  • 示例代码
  • 获取扬声器设备列表
  • 配置步骤
  • 示例代码
  • 切换摄像头设备
  • 配置步骤
  • 示例代码
  • 切换麦克风设备
  • 配置步骤
  • 示例代码
  • 切换扬声器设备
  • 配置步骤
  • 示例代码
  • 获取当前选择的摄像头设备
  • 配置步骤
  • 示例代码
  • 获取当前选择的扬声器设备
  • 配置步骤
  • 示例代码
  • 获取当前选择的麦克风设备
  • 配置步骤
  • 示例代码
  • API 参考