My Project
函数
zego-screencapture.h 文件参考
#include "zego-screencapture-defines.h"
zego-screencapture.h 的引用(Include)关系图:

浏览源代码.

函数

SCREENCAPTURE_API void zego_screencapture_init (void)
 初始化屏幕采集模块,非线程安全,与UnInit配对使用 更多...
 
SCREENCAPTURE_API void zego_screencapture_uninit (void)
 反初始化屏幕采集模块,非线程安全,与Init配对使用 更多...
 
SCREENCAPTURE_API void zego_screencapture_set_log_level (enum ZegoScreenCaptureLogLevel log_level, const char *szLogDir)
 设置log等级和路径 更多...
 
SCREENCAPTURE_API void zego_screencapture_start_capture (void)
 开始采集指定的目标 更多...
 
SCREENCAPTURE_API void zego_screencapture_stop_capture (void)
 停止对目标的采集 更多...
 
SCREENCAPTURE_API int zego_screencapture_is_capturing (void)
 是否正在采集 更多...
 
SCREENCAPTURE_API void zego_screencapture_set_fps (int fps)
 设置采集回调的帧率 更多...
 
SCREENCAPTURE_API void zego_screencapture_set_excluded_windows (ZegoWindowHandle *handle_list, int count, bool add)
 指定窗口,在采集屏幕时将这些窗口过滤,不在画面中显示 更多...
 
SCREENCAPTURE_API void zego_screencapture_set_cover_excluded_windows (ZegoWindowHandle *handle_list, int count, bool add)
 指定窗口,在采集窗口时将这些窗口过滤,不提示被覆盖(macOS没有实现) 更多...
 
SCREENCAPTURE_API void zego_screencapture_set_timestamp_offset (uint64_t offset)
 设置时间戳偏移 更多...
 
SCREENCAPTURE_API void zego_screencapture_activate_window_when_capturing (int active)
 在采集目标为窗口的情况下,初次采集时,设置是否激活窗口提升至前台显示 更多...
 
SCREENCAPTURE_API int zego_screencapture_set_target_window (ZegoWindowHandle handle)
 指定采集目标为单个窗口 更多...
 
SCREENCAPTURE_API int zego_screencapture_set_target_window_mode (enum ZegoScreenCaptureWindowMode mode)
 在采集目标为单个窗口的模式下,设置目标采集模式,比如是全部窗口内容还是窗口客户区内容(macOS没有实现) 更多...
 
SCREENCAPTURE_API int zego_screencapture_set_target_window_rect (int left, int top, int width, int height)
 在采集目标为单个窗口的模式下,设置目标采集区域, 相对于窗口坐标 更多...
 
SCREENCAPTURE_API const char * zego_screencapture_get_window_screen (ZegoWindowHandle handle)
 获取指定窗口所在屏幕(macOS没有实现) 更多...
 
SCREENCAPTURE_API bool zego_screencapture_get_window_rect (ZegoWindowHandle handle, struct ZegoRect *rect)
 获取指定窗口相对于屏幕坐标 更多...
 
SCREENCAPTURE_API int zego_screencapture_set_target_rect (ZegoScreenID screen, int left, int top, int width, int height)
 设置采集目标区域,单位为像素,支持高DPI及多屏坐标,左上角为坐标原点 更多...
 
SCREENCAPTURE_API int zego_screencapture_set_target_screen (ZegoScreenID screen)
 设置采集目标为指定屏幕 更多...
 
SCREENCAPTURE_API void zego_screencapture_set_cursor_visible (int visible)
 设置是否显示光标 更多...
 
SCREENCAPTURE_API void zego_screencapture_enable_click_animation (int enable)
 设置是否显示鼠标点击动画 更多...
 
SCREENCAPTURE_API void zego_screencapture_get_virtual_desktop_rect (int *left, int *top, int *width, int *height)
 获取虚拟桌面尺寸(多个屏幕合并后计算),单位为像素,支持高DPI及多屏坐标,原点坐标为主屏左上角 更多...
 
SCREENCAPTURE_API const struct ZegoScreenCaptureScreenItemzego_screencapture_enum_screen_list (uint32_t *count)
 同步枚举屏幕列表,包括屏幕名,是否主屏 更多...
 
SCREENCAPTURE_API void zego_screencapture_free_screen_list (const struct ZegoScreenCaptureScreenItem *screen_list)
 同步释放枚举到的屏幕列表 更多...
 
SCREENCAPTURE_API const struct ZegoScreenCaptureWindowItemzego_screencapture_enum_window_list (int isIncludeIconic, uint32_t *count)
 同步枚举窗口列表,包括窗口标题、窗口对应可执行文件名 更多...
 
SCREENCAPTURE_API void zego_screencapture_free_window_list (const struct ZegoScreenCaptureWindowItem *window_list)
 同步释放枚举到的窗口列表 更多...
 
SCREENCAPTURE_API void zego_screencapture_set_capture_video_pixel_format (enum ZegoScreenCaptureVideoPixelFormat format)
 设置视频采集的格式 更多...
 
SCREENCAPTURE_API void zego_screencapture_reg_captured_frame_available_notify (zego_screencapture_captured_frame_available_notify_func notify, void *data)
 注册采集数据通知 更多...
 
SCREENCAPTURE_API void zego_screencapture_reg_captured_window_status_change_notify (zego_screencapture_captured_window_status_change_notify_func notify, void *data)
 注册采集窗口状态变化通知 更多...
 
SCREENCAPTURE_API void zego_screencapture_reg_capture_error_notify (zego_screencapture_capture_error_notify_func notify, void *data)
 注册采集异常通知 更多...
 
SCREENCAPTURE_API void zego_screencapture_reg_capture_dwm_composition_change_notify (zego_screencapture_capture_dwm_composition_change_notify_func notify, void *data)
 注册系统桌面组合开关通知(win7) 更多...
 
SCREENCAPTURE_API void zego_screencapture_reg_capture_process_window_change_notify (zego_screencapture_capture_process_window_change_notify_func notify, void *data)
 注册监控采集窗口所属进程的窗口激活事件 更多...
 

函数说明

SCREENCAPTURE_API void zego_screencapture_activate_window_when_capturing ( int  active)

在采集目标为窗口的情况下,初次采集时,设置是否激活窗口提升至前台显示

参数
active是否激活窗口。非0值,激活窗口,否则不激活窗口,默认激活
SCREENCAPTURE_API void zego_screencapture_enable_click_animation ( int  enable)

设置是否显示鼠标点击动画

参数
enable是否显示鼠标点击动画。非0值显示鼠标点击动画,否则不显示鼠标点击动画。
SCREENCAPTURE_API const struct ZegoScreenCaptureScreenItem* zego_screencapture_enum_screen_list ( uint32_t *  count)

同步枚举屏幕列表,包括屏幕名,是否主屏

参数
count屏幕数量
返回
屏幕列表首地址,需配对调用zego_screencapture_free_screen_list释放
参见
zego_screencapture_free_screen_list
SCREENCAPTURE_API const struct ZegoScreenCaptureWindowItem* zego_screencapture_enum_window_list ( int  isIncludeIconic,
uint32_t *  count 
)

同步枚举窗口列表,包括窗口标题、窗口对应可执行文件名

参数
isIncludeIconic枚举时是否包括最小化的窗口。非0表示包括最小化窗口,否则不包括最小化窗口。
count窗口数量
返回
窗口列表首地址,需配对调用zego_screencapture_free_window_list释放
注解
可以通过缩略图相关接口获取需要共享的窗口
参见
zego_screencapture_free_window_list
SCREENCAPTURE_API void zego_screencapture_free_screen_list ( const struct ZegoScreenCaptureScreenItem screen_list)

同步释放枚举到的屏幕列表

参数
screen_list枚举到的屏幕列表首地址
SCREENCAPTURE_API void zego_screencapture_free_window_list ( const struct ZegoScreenCaptureWindowItem window_list)

同步释放枚举到的窗口列表

参数
window_list枚举到的窗口列表首地址
SCREENCAPTURE_API void zego_screencapture_get_virtual_desktop_rect ( int *  left,
int *  top,
int *  width,
int *  height 
)

获取虚拟桌面尺寸(多个屏幕合并后计算),单位为像素,支持高DPI及多屏坐标,原点坐标为主屏左上角

参数
left虚拟桌面左上角横坐标
top虚拟桌面左上角纵坐标
width虚拟桌面宽
height虚拟桌面高
SCREENCAPTURE_API bool zego_screencapture_get_window_rect ( ZegoWindowHandle  handle,
struct ZegoRect rect 
)

获取指定窗口相对于屏幕坐标

参数
handleWindows平台为窗口句柄,可通过zego_screencapture_enum_window_list获取
rect坐标矩形
返回
窗口无效或者窗口被最小化隐藏等坐标无效时返回false,获取到实际坐标返回true
SCREENCAPTURE_API const char* zego_screencapture_get_window_screen ( ZegoWindowHandle  handle)

获取指定窗口所在屏幕(macOS没有实现)

参数
handleWindows平台为窗口句柄,可通过zego_screencapture_enum_window_list获取,如传入NULL/nullptr则返回主屏幕
返回
成功返回屏幕名称,失败返回NULL
参见
zego_screencapture_enum_window_list
SCREENCAPTURE_API void zego_screencapture_init ( void  )

初始化屏幕采集模块,非线程安全,与UnInit配对使用

SCREENCAPTURE_API int zego_screencapture_is_capturing ( void  )

是否正在采集

返回
正在采集返回非0值,否则返回0
SCREENCAPTURE_API void zego_screencapture_reg_capture_dwm_composition_change_notify ( zego_screencapture_capture_dwm_composition_change_notify_func  notify,
void *  data 
)

注册系统桌面组合开关通知(win7)

参数
notify通知函数
data用户自定义数据,回调时透传
SCREENCAPTURE_API void zego_screencapture_reg_capture_error_notify ( zego_screencapture_capture_error_notify_func  notify,
void *  data 
)

注册采集异常通知

参数
notify通知函数
data用户自定义数据,回调时透传
SCREENCAPTURE_API void zego_screencapture_reg_capture_process_window_change_notify ( zego_screencapture_capture_process_window_change_notify_func  notify,
void *  data 
)

注册监控采集窗口所属进程的窗口激活事件

参数
notify通知函数
data用户自定义数据,回调时透传
SCREENCAPTURE_API void zego_screencapture_reg_captured_frame_available_notify ( zego_screencapture_captured_frame_available_notify_func  notify,
void *  data 
)

注册采集数据通知

参数
notify通知函数
data用户自定义数据,回调时透传
SCREENCAPTURE_API void zego_screencapture_reg_captured_window_status_change_notify ( zego_screencapture_captured_window_status_change_notify_func  notify,
void *  data 
)

注册采集窗口状态变化通知

参数
notify通知函数
data用户自定义数据,回调时透传
注解
采集目标窗口状态发生改变(当采集目标为窗口时,zego_screencapture_start_capture之后生效)
参见
zego_screencapture_start_capture
SCREENCAPTURE_API void zego_screencapture_set_capture_video_pixel_format ( enum ZegoScreenCaptureVideoPixelFormat  format)

设置视频采集的格式

参数
format视频采集的格式
参见
ZegoScreenCaptureVideoPixelFormat
SCREENCAPTURE_API void zego_screencapture_set_cover_excluded_windows ( ZegoWindowHandle handle_list,
int  count,
bool  add 
)

指定窗口,在采集窗口时将这些窗口过滤,不提示被覆盖(macOS没有实现)

参数
handle_list待过滤的窗口句柄列表
count窗口数量
addtrue 添加过滤窗口,false 移除过滤窗口
SCREENCAPTURE_API void zego_screencapture_set_cursor_visible ( int  visible)

设置是否显示光标

参数
visible是否显示光标。非0值显示光标,否则不显示光标。
SCREENCAPTURE_API void zego_screencapture_set_excluded_windows ( ZegoWindowHandle handle_list,
int  count,
bool  add 
)

指定窗口,在采集屏幕时将这些窗口过滤,不在画面中显示

参数
handle_list待过滤的窗口句柄列表,win7下指定了layered属性的窗口才能被过滤
count窗口数量
addtrue 添加过滤窗口,false 移除过滤窗口
注解
macOS下设置window setSharingType:NSWindowSharingNone 则会被过滤
SCREENCAPTURE_API void zego_screencapture_set_fps ( int  fps)

设置采集回调的帧率

参数
fps有效范围5~30,默认为15
SCREENCAPTURE_API void zego_screencapture_set_log_level ( enum ZegoScreenCaptureLogLevel  log_level,
const char *  szLogDir 
)

设置log等级和路径

参数
log_levellog等级
szLogDirlog保存路径
参见
ZegoScreenCaptureLogLevel
SCREENCAPTURE_API int zego_screencapture_set_target_rect ( ZegoScreenID  screen,
int  left,
int  top,
int  width,
int  height 
)

设置采集目标区域,单位为像素,支持高DPI及多屏坐标,左上角为坐标原点

参数
screen屏幕ID,在windows未使用,在mac_osx中为CGDirectDisplayID
left相对左上角的横坐标
top相对左上角纵坐标
width目标区域宽
height目标区域高
返回
设置成功返回非0值,否则返回0
SCREENCAPTURE_API int zego_screencapture_set_target_screen ( ZegoScreenID  screen)

设置采集目标为指定屏幕

参数
screen屏幕名,可通过zego_screencapture_enum_screen_list获取,如传入NULL/nullptr则采集虚拟桌面全屏
返回
设置成功返回非0值,否则返回0
注解
当目标屏幕失去连接时,将收到zego_screencapture_capture_error_notify_func回调
参见
zego_screencapture_enum_screen_list
zego_screencapture_capture_error_notify_func
SCREENCAPTURE_API int zego_screencapture_set_target_window ( ZegoWindowHandle  handle)

指定采集目标为单个窗口

参数
handle窗口句柄,参考zego_screencapture_enum_window_list,如传入NULL/nullptr则采集主屏幕全屏
返回
设置成功返回非0值,否则返回0
注解
当目标窗口关闭时,将收到zego_screencapture_capture_error_notify_func回调
参见
zego_screencapture_capture_error_notify_func
zego_screencapture_enum_window_list
SCREENCAPTURE_API int zego_screencapture_set_target_window_mode ( enum ZegoScreenCaptureWindowMode  mode)

在采集目标为单个窗口的模式下,设置目标采集模式,比如是全部窗口内容还是窗口客户区内容(macOS没有实现)

参数
mode窗口采集模式,默认采集整个窗口
返回
设置成功返回非0值,否则返回0
注解
在zego_screencapture_set_target_window后调用本接口进行设置,kZegoScreenCaptureWindowModelClient仅支持有限窗口
参见
zego_screencapture_set_target_window
ZegoScreenCaptureWindowMode
SCREENCAPTURE_API int zego_screencapture_set_target_window_rect ( int  left,
int  top,
int  width,
int  height 
)

在采集目标为单个窗口的模式下,设置目标采集区域, 相对于窗口坐标

参数
left相对窗口左上角的横坐标
top相对窗口左上角纵坐标
width目标区域宽
height目标区域高
返回
设置成功返回非0值,否则返回0
注解
在zego_screencapture_set_target_window后调用本接口进行设置。
1,如果不进行设置, 则默认截取整个窗口; 2,如果设置区域超过窗口区域, 则默认裁剪为窗口区域; 3,如果裁剪的区域为0,则采集整个窗口
参见
zego_screencapture_set_target_window
SCREENCAPTURE_API void zego_screencapture_set_timestamp_offset ( uint64_t  offset)

设置时间戳偏移

参数
offset外部提供的时间戳偏移,默认为0
SCREENCAPTURE_API void zego_screencapture_start_capture ( void  )

开始采集指定的目标

SCREENCAPTURE_API void zego_screencapture_stop_capture ( void  )

停止对目标的采集

SCREENCAPTURE_API void zego_screencapture_uninit ( void  )

反初始化屏幕采集模块,非线程安全,与Init配对使用