音视频通讯SDK API参考手册  Windows 1.6.0
tencent::av::AVLocalScreenVideoDevice类 参考abstract

本地屏幕视频设备的封装类。 更多...

#include <av_device.h>

类 tencent::av::AVLocalScreenVideoDevice 继承关系图:
tencent::av::AVVideoDevice tencent::av::AVSupportVideoPreview tencent::av::AVSupportVideoPreTreatment tencent::av::AVDevice

Public 成员函数

virtual void SetScreenCaptureParam (uint32 left=0, uint32 top=0, uint32 right=0, uint32 bottom=0, uint32 fps=10)=0
 设置屏幕画面捕获的参数。 更多...
 
virtual void GetScreenCaptureParam (uint32 &left, uint32 &top, uint32 &right, uint32 &bottom, uint32 &fps)=0
 获取屏幕画面捕获的参数。 更多...
 
virtual void EnableHDMode (bool is_enable)=0
 设置屏幕视频的模式。 更多...
 
- Public 成员函数 继承自 tencent::av::AVVideoDevice
virtual void SetFrameDataCallback (FrameDataCallback frame_callback, void *custom_data=NULL)=0
 设置采集回调函数,内部使用。 更多...
 
virtual FrameDataCallback GetFrameDataCallback ()=0
 获取采集回调函数,内部使用。 更多...
 
virtual void * GetFrameCustomData ()=0
 获取采集回调函数的自定义数据,内部使用。 更多...
 
- Public 成员函数 继承自 tencent::av::AVDevice
virtual const std::string & GetId () const =0
 获得当前设备Id。 更多...
 
virtual const std::string & GetType () const =0
 获得当前设备类型。 更多...
 
virtual const InfoGetInfo () const =0
 获取设备信息。 更多...
 
virtual void SetInfo (const Info &info)=0
 设置设备信息。 更多...
 
virtual bool IsSelected () const =0
 判断设备是否处于选中状态。 更多...
 
virtual void SetSelect (bool is_select=true)=0
 选中设备 更多...
 
- Public 成员函数 继承自 tencent::av::AVSupportVideoPreview
virtual void SetPreviewCallback (PreviewCallback frame_callback, void *custom_data=NULL)=0
 设置视频预览回调。 更多...
 
virtual int SetPreviewParam (std::string id, uint32 width, uint32 height, ColorFormat color_format)=0
 设置预览视频画面的参数。 更多...
 
virtual int ClearPreviewParam ()=0
 清空所有预览视频画面的参数。 更多...
 
virtual PreviewCallback GetPreviewCallback ()=0
 获取视频预览回调函数。 更多...
 
virtual void * GetPreviewCustomData ()=0
 获取视频预览回调自定义数据。 更多...
 
- Public 成员函数 继承自 tencent::av::AVSupportVideoPreTreatment
virtual void SetPreTreatmentFun (PreTreatmentFun pre_fun, void *custom_data=NULL)=0
 设置预处理函数指针。 更多...
 

额外继承的成员函数

- Public 类型 继承自 tencent::av::AVVideoDevice
typedef void(* FrameDataCallback) (VideoFrame *video_frame, void *custom_data)
 
- Public 类型 继承自 tencent::av::AVDevice
enum  DeviceOperation { DEVICE_OPERATION_UNKNOWN = 0, DEVICE_OPERATION_OPEN = 1, DEVICE_OPERATION_CLOSE = 2 }
 设备操作类型。 更多...
 
- Public 类型 继承自 tencent::av::AVSupportVideoPreview
typedef void(* PreviewCallback) (VideoFrame *video_frame, void *custom_data)
 SetPreviewCallback()的回调函数。 更多...
 
- Public 类型 继承自 tencent::av::AVSupportVideoPreTreatment
typedef void(* PreTreatmentFun) (VideoFrame *video_frame, void *custom_data)
 

详细描述

本地屏幕视频设备是一种虚拟的设备,属于视频输入设备,用于采集本地屏幕视频。

备注
. 仅支持Windows平台发送屏幕视频。 . 同一时刻,一个房间只允许一个人开启并发送屏幕视频。

成员函数说明

virtual void tencent::av::AVLocalScreenVideoDevice::EnableHDMode ( bool  is_enable)
pure virtual

设置屏幕视频的模式。可以是清晰模式,也可以是流畅模式,默认为清晰模式。 清晰模式指:编码分辨率为1920*1200,帧率由SDK内部控制。实际上,最终的编码分辨率是多大,还要考虑到采集的分辨率是多大;如果采集分辨率小于1920*1200,则最终的编码分辨率为采集分辨率;如果采集分辨率大于1920*1200,则最终的编码分辨率为1920*1200。 流畅模式指:编码分辨率为960*720,帧率由SDK内部控制。实际上,最终的编码分辨率也会根据实际采集分辨率做些调整,也就是如果采集分辨率比较大,则会按采集分辨率的长宽等比例缩小得到最终的编码分辨率;例如,假设采集分辨率为1920*1200,则最终的编码分辨率为960*540。

参数
is_enable当为true表示开启清晰模式,否则为流畅模式。
virtual void tencent::av::AVLocalScreenVideoDevice::GetScreenCaptureParam ( uint32 &  left,
uint32 &  top,
uint32 &  right,
uint32 &  bottom,
uint32 &  fps 
)
pure virtual

获取屏幕画面捕获的参数。

参数
left/top/right/bottom所要捕获屏幕画面的某个子区域或整个区域的左上角坐标(left, top)和右下角坐标(right, bottom)。它们是以屏幕的左上角坐标为原点的。
fps捕获帧率,取值范围[MIN_SCREEN_VIDEO_CAPTURE_FPS-MAX_SCREEN_VIDEO_CAPTURE_FPS],具体参考MIN_SCREEN_VIDEO_CAPTURE_FPS和MAX_SCREEN_VIDEO_CAPTURE_FPS两个宏的定义。
virtual void tencent::av::AVLocalScreenVideoDevice::SetScreenCaptureParam ( uint32  left = 0,
uint32  top = 0,
uint32  right = 0,
uint32  bottom = 0,
uint32  fps = 10 
)
pure virtual

设置屏幕画面捕获的参数。

参数
left/top/right/bottom所要捕获屏幕画面的某个子区域或整个区域的左上角坐标(left, top)和右下角坐标(right, bottom)。它们是以屏幕的左上角坐标为原点的。
fps捕获帧率,取值范围[MIN_SCREEN_VIDEO_CAPTURE_FPS-MAX_SCREEN_VIDEO_CAPTURE_FPS],具体参考MIN_SCREEN_VIDEO_CAPTURE_FPS和MAX_SCREEN_VIDEO_CAPTURE_FPS两个宏的定义。
备注
. 如果left/top/right/bottom都为0,代表要捕获整个屏幕画面。所要捕获的画面最大不能超过整个屏幕,宽度最小不能小于16,高度最小不能小于4,并且宽度必须为16的倍数,高度必需为2的倍数,否则SDK内部也会自动修正。 . 暂不支持在屏幕视频过程中更改分享画面大小和位置,所以这个接口必须在屏幕视频开始前调用才有效。