ScreenCaptureParameters
用于配置屏幕共享的参数。
C++
struct ScreenCaptureParameters {
VideoDimensions dimensions;
int frameRate;
int bitrate;
bool captureMouseCursor;
bool windowFocus;
view_t* excludeWindowList;
int excludeWindowCount;
int highLightWidth;
unsigned int highLightColor;
bool enableHighLight;
};
dimensions
信息
在文档共享场景中设置编码分辨率时,请参考建议设置方式。
dimensions 设置为 1920 × 1080: - 如果屏幕尺寸小于
dimensions,例如 1000 × 1000 像素,SDK 使用屏幕尺寸(即 1000 × 1000 像素)进行编码。 - 如果屏幕尺寸大于
dimensions,例如 2000 × 1500 像素,SDK 会在保持屏幕宽高比(4:3)的前提下,使用不超过dimensions的最大值进行编码,即 1440 × 1080。
frameRate
在 Windows 和 macOS 上,表示屏幕共享视频流的编码帧率(fps)。默认值为 5。声网不建议设置超过 15 的值。
bitrate
在 Windows 和 macOS 上,表示屏幕共享视频流的编码码率(Kbps)。默认值为 0,表示 SDK 会根据当前屏幕的分辨率自动计算码率。
captureMouseCursor
信息
由于 macOS 系统限制,在屏幕共享时设置为 false 无效(共享窗口时不受影响)。
- true:(默认)捕获鼠标。
- false:不捕获鼠标。
windowFocus
信息
由于 macOS 系统限制,当设置该参数将窗口置于前台时,如果当前应用有多个窗口,只有主窗口会被置于前台。
- true:将窗口置于前台。
- false:(默认)不将窗口置于前台。
excludeWindowList
要屏蔽的窗口 ID 列表。调用 startScreenCaptureByDisplayId 开始屏幕共享时,可使用该参数屏蔽指定窗口。调用 updateScreenCaptureParameters 更新屏幕共享配置时,也可使用该参数动态屏蔽指定窗口。
excludeWindowCount
要排除的窗口数量。
信息
在 Windows 平台上,该参数的最大值为 24;若超过此值,窗口排除将失败。
highLightWidth
(仅适用于 macOS 和 Windows)边框的宽度(像素)。默认值为 5,取值范围为 (0, 50]。
信息
仅当
highLighted 设置为 true 时该参数才生效。highLightColor
(仅适用于 macOS 和 Windows)
- 在 Windows 平台上,边框颜色为 ARGB 格式。默认值为 0xFF8CBF26。
- 在 macOS 上,
COLOR_CLASS表示NSColor。
enableHighLight
信息
当共享窗口或屏幕的部分区域时,若设置该参数为 true,SDK 会在整个窗口或屏幕周围显示边框。
- true:显示边框。
- false:(默认)不显示边框。