屏幕分享
屏幕分享以视频的格式对外发布,所以其接口集成在 QNRTCVideo
中,主要接口如下:
// 屏幕、窗口信息结构体
typedef struct _TScreenWindowInfo
{
int id; // 窗口 id,唯一标识
std::string title; // 窗口标题
bool is_screen; // 是否是显示器,true:显示器;false:窗口
} ScreenWindowInfo;
// 获取当前可被抓取的屏幕和窗口的数量(最小化的窗口不计算)
virtual int GetScreenWindowCount() = 0;
// 获取指定序号的屏幕、窗口信息,以 ScreenWindowInfo 的格式返回
// @param index_ 屏幕、窗口序号,0 ~ GetScreenWindowCount()
// @return ScreenWindowInfo 结构体,如果指定窗口不存在,则 ScreenWindowInfo::id 小于 0
virtual ScreenWindowInfo& GetScreenWindowInfo(const int& index_) const = 0;
// 激活并设置需要分享的窗口 id(ScreenWindowInfo::id);如果需要关闭屏幕分享功能,则传入 -1 即可
// @param source_id_ 屏幕或者窗口的 ID
// @return 成功返回 0, 其它请参考错误码列表
virtual int EnableAndSetScreenSourceId(const int& source_id_) = 0;
// 获取当前通过 EnableAndSetScreenSourceId 设置的屏幕或者窗口的 ID,如果未设置,则返回 -1
virtual int GetScreenSourceId() = 0;