Windows(C++)[v1.7.5.0]
Public 类型 | Public 成员函数 | Protected 成员函数 | 所有成员列表
VideoDeviceManager类 参考abstract

视频设备管理器 更多...

#include <PanoRtcDevice.h>

Public 类型

using EnumDeviceCallback = bool(*)(void *context, const char deviceName[kMaxDeviceNameLength], const char deviceId[kMaxDeviceIDLength])
 视频频设备枚举回调 更多...
 

Public 成员函数

virtual void enumerateCaptureDevices (EnumDeviceCallback cb, void *context) const =0
 枚举视频采集设备 更多...
 
virtual QResult setDevice (const char deviceId[kMaxDeviceIDLength])=0
 设置当前使用的视频采集设备 更多...
 
virtual QResult getDevice (char deviceId[kMaxDeviceIDLength]) const =0
 获取当前使用的视频采集设备 更多...
 
virtual QResult startPreview (const char deviceId[kMaxDeviceIDLength], void *window, const VideoConfig &config)=0
 开始预览自己的视频 更多...
 
virtual QResult startPreview (const char deviceId[kMaxDeviceIDLength], RtcRenderSink *sink, VideoProfileType profileType)=0
 开始预览自己的视频 更多...
 
virtual QResult stopPreview (const char deviceId[kMaxDeviceIDLength])=0
 终止预览自己的视频 更多...
 
virtual QResult switchDevice ()=0
 切换前后置摄像头, 仅支持移动设备, 默认为前置摄像头 更多...
 
virtual QResult getDevicePosition (VideoDevicePosition &position) const =0
 获取当前摄像头位置,仅支持移动设备 更多...
 
virtual VideoDevicePosition getDevicePosition (const char deviceId[kMaxDeviceIDLength]) const =0
 获取视频设备位置,仅支持移动设备 更多...
 
virtual RtcExternalVideoCapturercreateExternalCapturer ()=0
 创建一个外接视频采集设备 更多...
 
virtual QResult setDeviceBoundOption (const char deviceId[kMaxDeviceIDLength], OptionType option, void *param, uint32_t size)=0
 向指定的设备设置可选项 更多...
 
virtual QResult setDeviceBoundMediaProcessor (const char deviceId[kMaxDeviceIDLength], MediaProcessorType type, void *processor, void *param=nullptr)=0
 向指定的设备设置媒体处理模块。 更多...
 
virtual CameraControllergetCameraController (const char deviceId[kMaxDeviceIDLength])=0
 获取相机控制器的接口指针 更多...
 

Protected 成员函数

virtual ~VideoDeviceManager ()
 析构函数
 

详细描述

视频设备管理器

成员类型定义说明

◆ EnumDeviceCallback

using VideoDeviceManager::EnumDeviceCallback = bool(*) (void* context, const char deviceName[kMaxDeviceNameLength], const char deviceId[kMaxDeviceIDLength])

视频频设备枚举回调

参数
context用户自定义上下文
deviceName设备名
deviceId设备ID
返回
返回true继续, 返回false停止

成员函数说明

◆ createExternalCapturer()

virtual RtcExternalVideoCapturer * VideoDeviceManager::createExternalCapturer ( )
pure virtual

创建一个外接视频采集设备

返回
返回 RtcExternalVideoCapturer 对象指针

◆ enumerateCaptureDevices()

virtual void VideoDeviceManager::enumerateCaptureDevices ( EnumDeviceCallback  cb,
void *  context 
) const
pure virtual

枚举视频采集设备

参数
cb回调函数
context用户自定义上下文, 在回调函数中返回给用户

◆ getCameraController()

virtual CameraController * VideoDeviceManager::getCameraController ( const char  deviceId[kMaxDeviceIDLength])
pure virtual

获取相机控制器的接口指针

返回
  • 非空指针: 指向相机控制器接口对象的指针。
  • 空指针: 失败

◆ getDevice()

virtual QResult VideoDeviceManager::getDevice ( char  deviceId[kMaxDeviceIDLength]) const
pure virtual

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

参数
deviceId视频设备ID
返回
返回QResult来指示调用状态

◆ getDevicePosition() [1/2]

virtual VideoDevicePosition VideoDeviceManager::getDevicePosition ( const char  deviceId[kMaxDeviceIDLength]) const
pure virtual

获取视频设备位置,仅支持移动设备

参数
deviceId视频设备ID
返回
返回视频设备位置

◆ getDevicePosition() [2/2]

virtual QResult VideoDeviceManager::getDevicePosition ( VideoDevicePosition position) const
pure virtual

获取当前摄像头位置,仅支持移动设备

参数
position返回的当前摄像头位置
返回
返回 QResult 来指示调用状态

◆ setDevice()

virtual QResult VideoDeviceManager::setDevice ( const char  deviceId[kMaxDeviceIDLength])
pure virtual

设置当前使用的视频采集设备

参数
deviceId视频设备ID
返回
返回QResult来指示调用状态

◆ setDeviceBoundMediaProcessor()

virtual QResult VideoDeviceManager::setDeviceBoundMediaProcessor ( const char  deviceId[kMaxDeviceIDLength],
MediaProcessorType  type,
void *  processor,
void *  param = nullptr 
)
pure virtual

向指定的设备设置媒体处理模块。

参数
deviceID设备ID
type处理类型。目前支持的类型: VideoPreprocessor , VideoPreprocessorAutoRelease 。
processor外接处理模块。值为空表示停止对应的处理。
param处理模块所需参数, 跟处理模块类型相关。
返回
  • OK: 成功
  • 其他: 失败
注解
媒体处理器指针必须保持其有效性,直到对应处理被停止。

◆ setDeviceBoundOption()

virtual QResult VideoDeviceManager::setDeviceBoundOption ( const char  deviceId[kMaxDeviceIDLength],
OptionType  option,
void *  param,
uint32_t  size 
)
pure virtual

向指定的设备设置可选项

参数
deviceID设备ID
option参数类别。目前支持的类型: FaceBeautify ,BuiltinTransform , VideoQuadTransform 。
param参数, 参数的定义需遵循不同的option所定义的参数结构
size参数的大小
返回
  • OK: 成功
  • 其他: 失败

◆ startPreview() [1/2]

virtual QResult VideoDeviceManager::startPreview ( const char  deviceId[kMaxDeviceIDLength],
RtcRenderSink sink,
VideoProfileType  profileType 
)
pure virtual

开始预览自己的视频

参数
deviceId视频设备ID
sink数据接收槽, 数据由此接收槽接管
profileType视频能力
返回
返回QResult来指示调用状态

◆ startPreview() [2/2]

virtual QResult VideoDeviceManager::startPreview ( const char  deviceId[kMaxDeviceIDLength],
void *  window,
const VideoConfig config 
)
pure virtual

开始预览自己的视频

参数
deviceId视频设备ID
window显示窗口, 在windows平台, 该对象是一个HWND对象
config视频设置
返回
返回QResult来指示调用状态
注解
在 macOS iOS and Android 平台下必须从主线程调用。

◆ stopPreview()

virtual QResult VideoDeviceManager::stopPreview ( const char  deviceId[kMaxDeviceIDLength])
pure virtual

终止预览自己的视频

参数
deviceId视频设备ID
返回
返回QResult来指示调用状态

◆ switchDevice()

virtual QResult VideoDeviceManager::switchDevice ( )
pure virtual

切换前后置摄像头, 仅支持移动设备, 默认为前置摄像头

返回
返回QResult来指示调用状态

该类的文档由以下文件生成: