视频设备管理方法。
此接口类提供用于管理视频设备的相关接口。 可通过 IRtcEngine 类来获取 IVideoDeviceManager 接口。该接口类只支持 Windows 和 macOS 系统,不支持 Android 和 iOS 系统。
◆ EnumerateCaptureDevices()
◆ SetDevice()
abstract int nertc.IVideoDeviceManager.SetDevice |
( |
RtcVideoStreamType |
type, |
|
|
string |
deviceId |
|
) |
| |
|
pure virtual |
指定视频采集设备。
通过本接口可以实现为主流或辅流视频通道选择视频采集设备。
- 自从
- V4.6.20
- 使用前提
- 请在通过 StartVideoPreview 接口开启视频预览后调用该方法。
- 调用时机
- 请在初始化后调用该方法。
- 注解
- 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
- 参数说明
-
- 示例代码
std::string deviceID = ...;
_rtcEngine?.VideoDeviceManager?.SetDevice(deviceID, type);
std::string deviceID = ...;
_rtcEngine?.VideoDeviceManager?.SetDevice(deviceID, type);
RtcVideoStreamType
Definition: RtcBase.cs:6626
- 返回
- 0(kNERtcNoError):方法调用成功。
- 其他:方法调用失败。
- 30003(kNERtcErrInvalidParam):参数错误,比如 deviceID 设置错误。
- 30004(kNERtcErrNotSupported):不支持的操作,比如使用的是纯音频 SDK。
- 30008(kNERtcErrDeviceNotFound):未找到设备。
- 30009(kNERtcErrInvalidDeviceSourceID):非法的设备,比如设置的 deviceID 字符串含有非法字符。
◆ GetDevice()
abstract int nertc.IVideoDeviceManager.GetDevice |
( |
RtcVideoStreamType |
type, |
|
|
out string |
deviceId |
|
) |
| |
|
pure virtual |
获取当前使用的视频采集设备信息。
通过本接口可以实现获取主流或辅流视频通道已选择的视频采集设备信息。
- 自从
- V4.6.20
- 使用前提
- 请在通过 SetDevice 接口设置视频采集设备后调用该方法,否则返回空。
- 调用时机
- 请在初始化后调用该方法。
- 注解
- 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
- 参数说明
-
- 示例代码
std::string device_id = "\\?\usb#vid_046d&pid_081b&mi_00#7&1f6973a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global";
可以通过 IVideoDeviceManager 接口获取device_id
_rtcEngine?.VideoDeviceManager?.SetDevice(device_id.c_str(), type);
std::string device_id = "\\?\usb#vid_046d&pid_081b&mi_00#7&1f6973a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global";
可以通过 IVideoDeviceManager 接口获取device_id
_rtcEngine?.VideoDeviceManager?.SetDevice(device_id.c_str(), type);
- 返回
- 0(kNERtcNoError):方法调用成功。
- 其他:方法调用失败。
- 30004(kNERtcErrNotSupported):不支持的操作,比如使用的是纯音频 SDK。
该类的文档由以下文件生成: