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
共享的屏幕流的视频编码分辨率。
当共享的屏幕分辨率宽高比与该值设置不一致时,SDK 按如下策略进行编码。假设 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
是否采集鼠标用于屏幕共享:
YES
:(默认)采集鼠标。NO
: 不采集鼠标。
NO
无效(共享窗口时无影响)。windowFocus
调用 startScreenCaptureByWindowId
方法共享窗口时,是否将该窗口前置:
YES
: 前置窗口。NO
:(默认)不前置窗口。
excludeWindowList
待屏蔽窗口的 ID 列表。调用 startScreenCaptureByDisplayId
开启屏幕共享时,你可以通过该参数屏蔽指定的窗口。你可以在调用 updateScreenCaptureParameters
更新屏幕共享的配置参数时,通过该参数动态屏蔽指定的窗口。
highLighted
是否对共享的窗口或屏幕进行描边:
YES
: 描边。NO
: (默认)不描边。
YES
,SDK 会对整个窗口或屏幕进行描边。highLightColor
- 在 macOS 平台上,
COLOR_CLASS
指NSColor
。
highLightWidth
描边的宽度 (px)。默认值为 5,取值范围为 (0,50]。注: 该参数仅在 highLighted
设置为 YES
时生效。