AgoraScreenCaptureParameters
屏幕共享配置。
Objective-C
__attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject
@property (assign, nonatomic) CGSize dimensions;
@property (assign, nonatomic) NSInteger frameRate;
@property (assign, nonatomic) NSInteger bitrate;
@property(assign, nonatomic) BOOL captureMouseCursor;
@property(assign, nonatomic) BOOL windowFocus;
@property(copy, nonatomic) NSArray* _Nullable excludeWindowList;
@property(assign, nonatomic) BOOL highLighted;
@property(strong, nonatomic) COLOR_CLASS* _Nullable highLightColor;
@property(assign, nonatomic) NSUInteger highLightWidth;
@end
用于设置屏幕共享的视频编码参数。
dimensions
信息
在文档共享场景(
AgoraScreenScenarioDocument)中设置编码分辨率时,建议: - 若需最佳画质,建议编码分辨率与采集分辨率一致。
- 若需在画质、带宽和系统性能之间取得平衡:
- 当采集分辨率大于 1920 × 1080 时,编码分辨率建议不低于 1920 × 1080。
- 当采集分辨率小于 1920 × 1080 时,编码分辨率建议不低于 1280 × 720。
dimensions 设置为 1920 × 1080: - 如果屏幕尺寸小于
dimensions,如 1000 × 1000 像素,SDK 会使用屏幕尺寸(即 1000 × 1000 像素)进行编码。 - 如果屏幕尺寸大于
dimensions,如 2000 × 1500 像素,SDK 会在保持屏幕宽高比(4:3)的前提下,使用不超过dimensions的最大值进行编码,即 1440 × 1080。
frameRate
共享区域的帧率(fps)。默认值为 5。
信息
不建议设置超过 15 的帧率。
bitrate
共享区域的码率(Kbps)。默认值为 0,表示 SDK 会根据当前屏幕的分辨率计算码率。
captureMouseCursor
信息
由于 macOS 系统限制,在屏幕共享时设置为 NO 无效(共享窗口时不受影响)。
- YES:(默认)采集鼠标。
- NO:不采集鼠标。
windowFocus
信息
由于 macOS 系统限制,设置该参数置顶窗口时,如果当前应用有多个窗口,仅主窗口会被置顶。
startScreenCaptureByWindowId 方法共享窗口时,是否将该窗口置顶: - YES:将窗口置顶。
- NO:(默认)不置顶。
excludeWindowList
要屏蔽的窗口 ID 列表。调用
startScreenCaptureByDisplayId 开始屏幕共享时,可使用该参数屏蔽指定窗口。调用 updateScreenCaptureParameters 更新屏幕共享配置时,也可动态屏蔽指定窗口。highLighted
信息
当共享的是窗口或屏幕的一部分时,若设置为 YES,SDK 会在整个窗口或屏幕周围添加边框。
- YES:添加边框。
- NO:(默认)不添加边框。
highLightColor
边框颜色。在 macOS 上,
COLOR_CLASS 表示 NSColor。highLightWidth
边框宽度(像素)。默认值为 5,取值范围为 (0, 50]。
信息
仅当
highLighted 设置为 YES 时该参数才生效。