VideoCanvas
视频画布对象的属性。
Dart
(explicitToJson: true, includeIfNull: false)
class VideoCanvas {
const VideoCanvas(
{this.uid,
this.subviewUid,
this.view,
this.backgroundColor,
this.renderMode,
this.mirrorMode,
this.setupMode,
this.sourceType,
this.mediaPlayerId,
this.cropArea,
this.enableAlphaMask,
this.position});
(name: 'uid')
final int? uid;
(name: 'subviewUid')
final int? subviewUid;
(name: 'view')
final int? view;
(name: 'backgroundColor')
final int? backgroundColor;
(name: 'renderMode')
final RenderModeType? renderMode;
(name: 'mirrorMode')
final VideoMirrorModeType? mirrorMode;
(name: 'setupMode')
final VideoViewSetupMode? setupMode;
(name: 'sourceType')
final VideoSourceType? sourceType;
(name: 'mediaPlayerId')
final int? mediaPlayerId;
(name: 'cropArea')
final Rectangle? cropArea;
(name: 'enableAlphaMask')
final bool? enableAlphaMask;
(name: 'position')
final VideoModulePosition? position;
factory VideoCanvas.fromJson(Map<String, dynamic> json) =>
_$VideoCanvasFromJson(json);
Map<String, dynamic> toJson() => _$VideoCanvasToJson(this);
}
uid
发布视频源的用户 ID。
对于 Android 和 iOS 平台,当视频源为合图视频流 (videoSourceTranscoded) 时,该参数表示发布合图视频流的用户 ID。
subviewUid
发布某一路合图子视频流的用户 ID。
view
视频显示窗口。
注意
在一个 VideoCanvas 中,你只能选择 view 或 surfaceTexture 其中一个进行设置,如果同时设置,只有 view 中的设置会生效。
renderMode
视频渲染模式,详见 RenderModeType。
mirrorMode
视图镜像模式,详见 VideoMirrorModeType。
注意
- 本地视图镜像模式:如果你使用前置摄像头,默认启动本地视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
- 远端用户视图镜像模式:默认关闭远端用户的镜像模式。
sourceType
视频源的类型,详见 VideoSourceType。
setupMode
视图设置模式。详见 VideoViewSetupMode。
mediaPlayerId
媒体播放器 ID。可通过 getMediaPlayerId 获取。
当 sourceType 为 videoSourceMediaPlayer 时,此参数为必填项。
cropArea
backgroundColor
视频画布的背景颜色,格式为 RGBA。默认值为 0x00000000,代表完全透明的黑色。
enableAlphaMask
(可选)接收端是否开启 alpha 遮罩渲染:
true
:接收端开启 alpha 遮罩渲染。false
:(默认)接收端关闭 alpha 遮罩渲染。
alpha 遮罩渲染可以创建具有透明效果的图像,还可以提取视频中的人像。与其他方法结合使用时,可以实现人像画中画、添加水印等效果。
注意
- 仅当发送端开启 alpha 传输功能时,接收端才能渲染 alpha 通道的信息。
- 如需开启 alpha 传输功能,请联系技术支持。
position
视频帧在视频链路中的位置。详见 VideoModulePosition。