My Project
结构体 | 宏定义 | 类型定义 | 枚举
zego-screencapture-defines.h 文件参考
#include <stdint.h>

浏览源代码.

结构体

struct  ZegoRect
 
struct  ZegoScreenCaptureScreenItem
 
struct  ZegoScreenCaptureWindowItem
 
struct  ZegoScreenCaptureVideoCaptureFormat
 

宏定义

#define SCREENCAPTURE_API   __attribute__((visibility("default")))
 

类型定义

typedef unsigned int ZegoWindowHandle
 macOS窗口ID 更多...
 
typedef unsigned int ZegoScreenName
 macOS屏幕ID 更多...
 
typedef ZegoScreenName ZegoScreenID
 macOS屏幕ID 更多...
 
typedef void(* zego_screencapture_capture_error_notify_func) (enum ZegoScreenCaptureCaptureError error, void *data)
 采集错误回调 更多...
 
typedef void(* zego_screencapture_captured_window_moved_notify_func) (ZegoWindowHandle handle, int left, int top, int width, int height, void *user_data)
 采集目标窗口位置、大小发生改变(zego_screencapture_start_capture 之后生效) 更多...
 
typedef void(* zego_screencapture_captured_window_status_change_notify_func) (enum ZegoScreenCaptureWindowStatus status_code, ZegoWindowHandle handle, struct ZegoRect rect, void *user_data)
 采集目标窗口状态发生改变(zego_screencapture_start_capture 之后生效) 更多...
 
typedef void(* zego_screencapture_captured_frame_available_notify_func) (const void *data, uint32_t length, const struct ZegoScreenCaptureVideoCaptureFormat *video_frame_format, uint64_t reference_time, uint32_t reference_time_scale, void *user_data)
 采集数据回调 更多...
 

枚举

enum  ZegoScreenCaptureLogLevel {
  kZegoLogLevelGrievous = 0, kZegoLogLevelError = 1, kZegoLogLevelWarning = 2, kZegoLogLevelGeneric = 3,
  kZegoLogLevelDebug = 4
}
 
enum  ZegoScreenCaptureCaptureError { kZegoCaptureErrorUnexpected = 1, kZegoCaptureErrorTargetUnspecified = 2, kZegoCaptureErrorTargetInvalid = 3, kZegoCaptureErrorCaptureFunctionFailed = 4 }
 
enum  ZegoScreenCaptureCallBackIndex {
  kCaptureErrorNotify = 1, kCapturedWindowMovedNotify = 2, kCapturedFrameAvailableNotify = 3, kThumbnailWindowChangeNotify = 4,
  kScreenCaptureWindowChangeNotify
}
 
enum  ZegoScreenCaptureWindowStatus {
  kZegoScreenCaptureWindowNoChange = 0, kZegoScreenCaptureWindowDestroy, kZegoScreenCaptureWindowMaximize, kZegoScreenCaptureWindowMinimize,
  kZegoScreenCaptureWindowActive, kZegoScreenCaptureWindowDeactive, kZegoScreenCaptureWindowShow, kZegoScreenCaptureWindowHide,
  kZegoScreenCaptureWindowMove
}
 
enum  ZegoScreenCaptureVideoPixelFormat {
  kZegoPixelFormatUnknown = 0, kZegoPixelFormatI420 = 1, kZegoPixelFormatNV12 = 2, kZegoPixelFormatNV21 = 3,
  kZegoPixelFormatBGRA32 = 4, kZegoPixelFormatRGBA32 = 5, kZegoPixelFormatCVImageBuffer = 100
}
 
enum  ZegoScreenCaptureWindowMode { kZegoScreenCaptureWindowModeWindow = 1, kZegoScreenCaptureWindowModeClient = 2 }
 

宏定义说明

#define SCREENCAPTURE_API   __attribute__((visibility("default")))

类型定义说明

typedef void(* zego_screencapture_capture_error_notify_func) (enum ZegoScreenCaptureCaptureError error, void *data)

采集错误回调

参数
error错误代码
user_data用户自定义数据
参见
ZegoScreenCaptureCaptureError
typedef void(* zego_screencapture_captured_frame_available_notify_func) (const void *data, uint32_t length, const struct ZegoScreenCaptureVideoCaptureFormat *video_frame_format, uint64_t reference_time, uint32_t reference_time_scale, void *user_data)

采集数据回调

参数
data每一帧截图元数据
length元数据大小
video_frame_format帧信息: format、长宽等
reference_time时间戳
reference_time_scale时间戳单位,如果是ms则是1000
user_data用户自定义数据
参见
ZegoScreenCaptureVideoCaptureFormat
typedef void(* zego_screencapture_captured_window_moved_notify_func) (ZegoWindowHandle handle, int left, int top, int width, int height, void *user_data)

采集目标窗口位置、大小发生改变(zego_screencapture_start_capture 之后生效)

参数
handle窗口ID
left窗口原点坐标(左上角)横坐标
top窗口原点坐标(左上角)纵坐标
width窗口宽度
height窗口高度
user_data用户自定义数据
注解
采集目标窗口位置、大小发生改变(当采集目标为窗口时,zego_screencapture_start_capture之后生效)窗口如果被最小化,也会调用此回调,坐标为(0,0,0,0)
参见
zego_screencapture_start_capture
zego_screencapture_captured_window_status_change_notify_func
typedef void(* zego_screencapture_captured_window_status_change_notify_func) (enum ZegoScreenCaptureWindowStatus status_code, ZegoWindowHandle handle, struct ZegoRect rect, void *user_data)

采集目标窗口状态发生改变(zego_screencapture_start_capture 之后生效)

参数
status_code窗口状态
handle窗口ID
rect窗口矩形
user_data用户自定义数据
注解
采集目标窗口状态发生改变(当采集目标为窗口时,zego_screencapture_start_capture之后生效)
参见
zego_screencapture_start_capture

macOS屏幕ID

typedef unsigned int ZegoScreenName

macOS屏幕ID

typedef unsigned int ZegoWindowHandle

macOS窗口ID

枚举类型说明

枚举值
kCaptureErrorNotify 
kCapturedWindowMovedNotify 
kCapturedFrameAvailableNotify 
kThumbnailWindowChangeNotify 
kScreenCaptureWindowChangeNotify 
枚举值
kZegoCaptureErrorUnexpected 
kZegoCaptureErrorTargetUnspecified 

采集目标未指定

kZegoCaptureErrorTargetInvalid 

采集目标失效,比如显示器被拔掉、窗口被关闭

kZegoCaptureErrorCaptureFunctionFailed 
枚举值
kZegoLogLevelGrievous 
kZegoLogLevelError 
kZegoLogLevelWarning 
kZegoLogLevelGeneric 

通常在发布产品中使用

kZegoLogLevelDebug 

调试阶段使用

枚举值
kZegoPixelFormatUnknown 
kZegoPixelFormatI420 

仅windows下支持

kZegoPixelFormatNV12 

暂未支持

kZegoPixelFormatNV21 

暂未支持

kZegoPixelFormatBGRA32 

默认的画面数据的颜色空间类型

kZegoPixelFormatRGBA32 

暂未支持

kZegoPixelFormatCVImageBuffer 

macOS下CVImageBufferRef类型数据

枚举值
kZegoScreenCaptureWindowModeWindow 

截取窗口整体画面

kZegoScreenCaptureWindowModeClient 

截取窗口客户区

枚举值
kZegoScreenCaptureWindowNoChange 

窗口无变化

kZegoScreenCaptureWindowDestroy 

窗口销毁

kZegoScreenCaptureWindowMaximize 

窗口最大化

kZegoScreenCaptureWindowMinimize 

窗口最小化

kZegoScreenCaptureWindowActive 

窗口激活

kZegoScreenCaptureWindowDeactive 

窗口失去激活

kZegoScreenCaptureWindowShow 

窗口显示

kZegoScreenCaptureWindowHide 

窗口隐藏

kZegoScreenCaptureWindowMove 

窗口移动