ScreenCaptureParameters

  • C++

更新时间不可用

用于配置屏幕共享的参数。

C++
struct ScreenCaptureParameters {
  bool captureAudio;
  ScreenAudioParameters audioParams;
  VideoDimensions dimensions;
  int frameRate;
  int bitrate;
  bool captureMouseCursor;
  bool windowFocus;
  view_t* excludeWindowList;
  int excludeWindowCount;
  int highLightWidth;
  unsigned int highLightColor;
  bool enableHighLight;
};

属性

参数名描述
dimensions

注: 在文档共享场景中设置编码分辨率时,请参考建议设置方式。

屏幕共享视频流的编码分辨率。默认值为 1920 × 1080,即 2,073,600 像素。声网会根据该参数的值计算费用。如果屏幕尺寸与该参数值不同,SDK 会采用以下编码策略。假设 dimensions 设置为 1920 × 1080:

  • 如果屏幕尺寸小于 dimensions,例如 1000 × 1000 像素,SDK 使用屏幕尺寸(即 1000 × 1000 像素)进行编码。
  • 如果屏幕尺寸大于 dimensions,例如 2000 × 1500 像素,SDK 会在保持屏幕宽高比(4:3)的前提下,使用不超过 dimensions 的最大值进行编码,即 1440 × 1080。

详见 VideoDimensions。

frameRate

在 Windows 和 macOS 上,表示屏幕共享视频流的编码帧率(fps)。默认值为 5。声网不建议设置超过 15 的值。

bitrate

在 Windows 和 macOS 上,表示屏幕共享视频流的编码码率(Kbps)。默认值为 0,表示 SDK 会根据当前屏幕的分辨率自动计算码率。

captureMouseCursor

注: 由于 macOS 系统限制,在屏幕共享时设置为 false 无效(共享窗口时不受影响)。

是否在屏幕共享中捕获鼠标:

  • true:(默认)捕获鼠标。
  • false:不捕获鼠标。
windowFocus

注: 由于 macOS 系统限制,当设置该参数将窗口置于前台时,如果当前应用有多个窗口,只有主窗口会被置于前台。

调用 startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口置于前台:

  • 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 会在整个窗口或屏幕周围显示边框。

(仅适用于 macOS 和 Windows)是否在共享的窗口或屏幕周围显示边框:

  • true:显示边框。
  • false:(默认)不显示边框。
表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?