Interface ScreenVideoTrackInitConfig
创建屏幕共享视频轨道时的配置对象,用于 AgoraRTC.createScreenVideoTrack。
Properties
displaySurface
displaySurface: "browser" | "window" | "monitor"
自从 4.17.1
默认选中的共享内容类型,支持设为标签页、应用窗口(如下图)、或屏幕。详见 displaySurface。
注意事项:该属性仅支持 Chrome 107 及以上版本、Edge 107 及以上版本。
electronScreenSourceId
electronScreenSourceId: undefined | string
使用 Electron 屏幕共享时,传入 sourceId
。
encoderConfig
encoderConfig: VideoEncoderConfiguration | ScreenEncoderConfigurationPreset
控制屏幕共享视频的编码配置。
你可以通过 ScreenEncoderConfigurationPreset 传入 SDK 内置的编码配置;也可以通过传入一个 VideoEncoderConfiguration 来自定义视频编码配置。
extensionId
extensionId: undefined | string
使用 Chrome 浏览器插件进行屏幕共享时,传入插件的 ID。
optimizationMode
optimizationMode: "motion" | "detail"
自从 4.0.0
传输优化模式。设置该值后,SDK 会自动调整码率配置以及使用不同的回退策略。
-
"motion"
: 流畅优先。-
SDK 不会启用最小码率策略。遭遇网络波动时,发送端会降低码率来确保接收端的视频画面不会出现中断和卡顿。
-
大部分情况下,SDK 不会降低帧率,但是可能会降低发送分辨率。
-
-
"detail"
: (默认)清晰优先。-
SDK 会自动根据你的采集分辨率和帧率设定一个最小码率。即使遭遇网络波动,发送码率也不会低于这个值,从而确保清晰的视频画面。
-
大部分情况下,SDK 不会降低发送分辨率,但是可能会降低帧率。
-
注意事项:该方法只支持 Chrome 浏览器。
screenSourceType
screenSourceType: ScreenSourceType
DEPRECATED
自 v4.17.1 起废弃,请改用 displaySurface。
屏幕共享源的类型。
只在 Firefox 下有效。
selfBrowserSurface
selfBrowserSurface: "include" | "exclude"
自从 4.17.1
是否允许用户共享当前标签页:
-
"include"
:(默认)允许用户共享当前标签页。 -
"exclude"
:禁止用户共享当前标签页。
注意事项:
-
Chrome 107 上该属性的默认值为
"exclude"
,但 SDK 为保证兼容性将默认值改为了"include"
,以免用户升级到 Chrome 107 后无法共享当前标签页。 -
该属性仅支持 Chrome 107 及以上版本、Edge 107 及以上版本。
surfaceSwitching
surfaceSwitching: "include" | "exclude"
自从 4.17.1
是否允许用户动态切换共享的标签页:
-
"include"
:(默认)允许用户动态切换共享的标签页。 -
"exclude"
:禁止用户动态切换共享的标签页。
详见 surfaceSwitching。
注意事项:该属性仅支持 Chrome 107 及以上版本、Edge 107 及以上版本。
systemAudio
systemAudio: "include" | "exclude"
自从 4.17.1
是否允许采集系统音频:
-
"include"
:(默认)允许采集系统音频。 -
"exclude"
:禁止采集系统音频。
详见 systemAudio。
注意事项:该属性仅支持 Windows 设备上的 Chrome 105 及以上版本、Edge 105 及以上版本。