屏幕共享
getScreenShareSources
virtual IHRTCScreenShareSourceList* getScreenShareSources(HRTCScreenShareIconType type)
【功能说明】
获取屏幕可共享对象列表。
【请求参数】
type:屏幕捕获图像类型,具体请参见HRTCScreenShareIconType。
【返回参数】
共享屏幕窗口对象列表,具体请参见共享屏幕资源管理。
setScreenShareTarget
virtual int setScreenShareTarget(HRTCScreenShareSourceInfo* info, HRTCSrceenCaptureOptionalInfo* optionalInfo)
【功能说明】
选择屏幕共享对象。
【请求参数】
- info:共享对象信息,主要为采集源ID、名称等,具体请参见HRTCScreenShareSourceInfo。
- optionalInfo:其他共享对象信息,如是否禁止鼠标采集、可选的共享区域等,具体请参见HRTCSrceenCaptureOptionalInfo。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
- 辅流的分辨率默认最大支持1080P,如果小于1080P,以实际分辨率为准。
- 区域共享分辨率以optionalInfo中定义的矩形(Rect)大小为准,若不设置(全部设为0),则默认使用1920*1080。
- 区域共享时自定义分辨率的矩形(Rect)范围限制为最小96*92,最大4096*2160,超出范围设置无效。
startScreenShare
virtual int startScreenShare()
【功能说明】
开启屏幕共享。开启屏幕共享前需要调用getScreenShareSources和setScreenShareTarget接口获取和选择共享屏幕(窗口)对象。
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
- 目前可支持多路辅流共享,若需开启多辅流,请提交工单联系技术支持处理。
- 共享成功后会触发onScreenShareStarted回调。
- 远端会收到onUserAuxiliaryStreamAvailable通知,可据此发起辅流选看。
stopScreenShare
virtual int stopScreenShare()
【功能说明】
停止屏幕共享。
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
- 停止成功后会触发onScreenShareStopped回调。
- 远端会收到onUserAuxiliaryStreamAvailable通知,可据此停止辅流选看。
addHiddenShareWindow
virtual int addHiddenShareWindow(view_t view)
【功能说明】
将指定窗口加入屏幕共享排除列表,屏幕共享时,在排除列表中的窗口将不会被共享出去。
屏幕共享前后均可调用。
【请求参数】
view:窗口句柄。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
- 添加过滤窗口,窗口关闭后,不会自动移除该窗口句柄。
- 该功能仅在屏幕共享时生效,在窗口共享时不生效。
- 退出房间不会自动清空过滤窗口列表。
- windows7系统,通过DwmIsCompositionEnabled查询为关闭的场景下不可用。
- windows 10系统1607以前的版本,通过GetProcessDpiAwareness查询为PROCESS_DPI_UNAWARE或者PROCESS_SYSTEM_DPI_AWARE,则在系统dpi非100%场景不可用。建议应用以PROCESS_PER_MONITOR_DPI_AWARE模式使用。
deleteHiddenShareWindow
virtual int deleteHiddenShareWindow(view_t view)
【功能说明】
将指定窗口从屏幕共享排除列表中移除。
屏幕共享前后均可调用。
【请求参数】
view:窗口句柄。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
removeAllHiddenShareWindow
virtual int removeAllHiddenShareWindow()
【功能说明】
将所有窗口从屏幕共享排除列表中移除。
屏幕共享前后均可移除。
【请求参数】
无
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
getScreenShareSources
virtual IHRTCScreenShareSourceList* getScreenShareSources(const HRTCSize &thumbnailSize, const HRTCSize &iconSize)
【功能说明】
获取屏幕可共享对象列表,包含缩略图。
【请求参数】
thumbnailSize:具体请参见HRTCSize,当前只支持640*360, 传0*0时不需要缩略图。
iconSize:具体请参见HRTCSize,当前不支持。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
setVideoEncodeResolutionMode
virtual int setVideoEncodeResolutionMode(HRTCVideoEncodeResolutionMode resolutionMode)
【功能说明】
设置视频编码分辨率比例模式。
【请求参数】
resolutionMode:视频编码分辨率比例模式。具体请参见HRTCVideoEncodeResolutionMode。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
使用该接口设置辅流编码参数,目前策略会根据获取的区域宽高比对设置的宽高进行调整,使用户设置的宽高比与获取的宽高比保持一致,因此,用户实际收流分辨率与设置分辨率有可能不同。