视频设备管理

  • Electron

更新时间不可用

enumerateVideoDevices

获取系统中所有的视频设备列表。

TypeScript
abstract enumerateVideoDevices(): VideoDeviceInfo[];

返回值

  • 方法调用成功:返回一个 VideoDeviceInfo 数组,其中包含系统中所有视频设备。
  • 方法调用失败: 返回空列表。

所属接口类

getCapability

获取视频采集设备在指定的视频格式下的详细视频帧信息。

TypeScript
abstract getCapability(
    deviceIdUTF8: string,
    deviceCapabilityNumber: number
  ): VideoFormat;

在调用 numberOfCapabilities 获取视频采集设备支持的视频格式数量后,你可以调用该方法获取指定索引号支持的具体视频帧信息。

参数

参数名描述
deviceIdUTF8

视频采集设备的 ID。

deviceCapabilityNumber

视频格式的索引号。如果 numberOfCapabilities 的返回值为 i,则该参数取值范围为[0,i)。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

指定视频格式的具体信息,包括宽度(px),高度(px)和帧率(fps)。详见 VideoFormat。

所属接口类

getDevice

获取当前使用的视频采集设备。

TypeScript
abstract getDevice(): string;

返回值

视频采集设备。

所属接口类

getVideoDeviceManager

获取 IVideoDeviceManager 对象,以管理视频设备。

TypeScript
abstract getVideoDeviceManager(): IVideoDeviceManager;

返回值

一个 IVideoDeviceManager 对象。

所属接口类

numberOfCapabilities

获取指定视频采集设备支持的视频格式数量。

TypeScript
abstract numberOfCapabilities(deviceIdUTF8: string): number;

视频采集设备可能支持多种视频格式,每一种格式都支持不同的视频帧宽度、视频帧高度、帧率组合。 你可以通过调用该方法,获取指定的视频采集设备可支持多少种视频格式,然后调用 getCapability 获取指定视频格式下的具体视频帧信息。

参数

参数名描述
deviceIdUTF8

视频采集设备的 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • > 0: 方法调用成功。返回该设备支持的视频格式数量。例如:如果指定的摄像头支持 10 种不同的视频格式,则返回值为 10。
  • ≤ 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

queryCodecCapability

查询 SDK 支持的视频编解码能力。

TypeScript
abstract queryCodecCapability(): { codecInfo: CodecCapInfo[]; size: number };

返回值

  • 如果调用成功,则返回一个包含以下属性的对象:

  • 如果调用超时,请修改调用逻辑,不要在主线程中调用该方法。

所属接口类

setCameraCapturerConfiguration

设置摄像头采集配置。

TypeScript
abstract setCameraCapturerConfiguration(
    config: CameraCapturerConfiguration
  ): number;

调用时机

该方法必须在开启本地摄像头采集前调用,如 startPreview 和 joinChannel 前调用。

参数

参数名描述
config

摄像头采集配置,详见 CameraCapturerConfiguration。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setCameraDeviceOrientation

设置采集视频的旋转角度。

TypeScript
abstract setCameraDeviceOrientation(
    type: VideoSourceType,
    orientation: VideoOrientation
  ): number;

注:

  • 该方法仅适用于 Windows。
  • 该方法必须在 enableVideo 后调用,设置结果在摄像头成功开启后生效,即 SDK 触发 onLocalVideoStateChanged 回调返回本地视频状态为 LocalVideoStreamStateCapturing (1) 后。
  • 当视频采集设备不带重力感应功能时,你可以调用该方法手动调整采集到的视频画面的旋转角度。

参数

参数名描述
type

视频源类型,详见 VideoSourceType。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setDevice

通过设备 ID 指定视频采集设备。

TypeScript
abstract setDevice(deviceIdUTF8: string): number;

注:

  • 插拔设备不会改变设备 ID。

参数

参数名描述
deviceIdUTF8

设备 ID。可通过调用 enumerateVideoDevices 方法获取。 最大长度为 MaxDeviceIdLengthType。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

onCameraReady

摄像头就绪回调。

TypeScript
onCameraReady?(): void;

废弃

弃用: 请改用 onLocalVideoStateChanged 中的 LocalVideoStreamStateCapturing(1)。

该回调提示已成功打开摄像头,可以开始捕获视频。

所属接口类

onVideoDeviceStateChanged

视频设备变化回调。

TypeScript
onVideoDeviceStateChanged?(
    deviceId: string,
    deviceType: MediaDeviceType,
    deviceState: number
  ): void;

该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。

参数

参数名描述
deviceId

设备 ID。

deviceType

设备类型。详见 MediaDeviceType。

deviceState

设备状态。详见 MediaDeviceStateType 。

表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类