IScreenCaptureSourceList
IScreenCaptureSourceList 类。该类在 getScreenCaptureSources 方法中返回。
getCount
获取可共享的窗口和屏幕的个数。
virtual unsigned int getCount() = 0;
返回值
可共享的窗口和屏幕的个数。
getSourceInfo
获取指定的可共享窗口或屏幕的信息。
virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;
获取到 IScreenCaptureSourceList 后,你可以传入指定的可共享窗口或屏幕的索引值,以获取到该窗口或屏幕的信息 ScreenCaptureSourceInfo。
参数
- index
- 指定的可共享窗口或屏幕的索引。索引值范围为 [0,getCount
()
)。
返回值
ScreenCaptureSourceInforelease
virtual void release() = 0;
获取可共享的窗口和屏幕对象列表后,为避免内存泄露,请调用该方法释放 IScreenCaptureSourceList,不要直接删除 IScreenCaptureSourceList。
ScreenCaptureSourceInfo
可共享窗口或屏幕的信息。在 IScreenCaptureSourceList 中返回。
struct ScreenCaptureSourceInfo { ScreenCaptureSourceType type; view_t sourceId; const char* sourceName; ThumbImageBuffer thumbImage; ThumbImageBuffer iconImage; const char* processPath; const char* sourceTitle; bool primaryMonitor; ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false) {} };
属性
- type
- 共享目标的类型。详见 ScreenCaptureSourceType。
- sourceId
- 对于窗口,表示窗口 ID(Window ID);对于屏幕,表示屏幕 ID(Display ID)。
- sourceName
- 窗口或屏幕的名称。UTF-8 编码。
- thumbImage
- 缩略图的图像内容。详见 ThumbImageBuffer。
- iconImage
- 图标的图像内容。详见 ThumbImageBuffer。
- processPath
- 窗口所属的进程。UTF-8 编码。
- sourceTitle
- 窗口标题。UTF-8 编码。
- primaryMonitor
- 屏幕是否为主显示屏:
true
: 是。false
: 否。