VideoCanvas

  • Flutter

更新时间不可用

视频画布对象的属性。

Dart
@JsonSerializable(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});

  @JsonKey(name: 'uid')
  final int? uid;

  @JsonKey(name: 'subviewUid')
  final int? subviewUid;

  @JsonKey(name: 'view')
  final int? view;

  @JsonKey(name: 'backgroundColor')
  final int? backgroundColor;

  @JsonKey(name: 'renderMode')
  final RenderModeType? renderMode;

  @JsonKey(name: 'mirrorMode')
  final VideoMirrorModeType? mirrorMode;

  @JsonKey(name: 'setupMode')
  final VideoViewSetupMode? setupMode;

  @JsonKey(name: 'sourceType')
  final VideoSourceType? sourceType;

  @JsonKey(name: 'mediaPlayerId')
  final int? mediaPlayerId;

  @JsonKey(name: 'cropArea')
  final Rectangle? cropArea;

  @JsonKey(name: 'enableAlphaMask')
  final bool? enableAlphaMask;

  @JsonKey(name: 'position')
  final VideoModulePosition? position;

  factory VideoCanvas.fromJson(Map<String, dynamic> json) =>
      _$VideoCanvasFromJson(json);

  Map<String, dynamic> toJson() => _$VideoCanvasToJson(this);
}

属性

参数名描述
uid

对于 Android 和 iOS 平台,当视频源为合图视频流 (videoSourceTranscoded) 时,该参数表示发布合图视频流的用户 ID。

subviewUid

发布某一路合图子视频流的用户 ID。

view

视频显示窗口。

注: 在一个 VideoCanvas 中,你只能选择 view 或 surfaceTexture 其中一个进行设置,如果同时设置,只有 view 中的设置会生效。

renderMode

视频渲染模式,详见 RenderModeType。

mirrorMode

视图镜像模式,详见 VideoMirrorModeType。

注:

  • 本地视图镜像模式:如果你使用前置摄像头,默认启动本地视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
  • 远端用户视图镜像模式:默认关闭远端用户的镜像模式。
sourceType

视频源的类型,详见 VideoSourceType。

setupMode

视图设置模式。详见 VideoViewSetupMode。

mediaPlayerId

媒体播放器 ID。可通过 getMediaPlayerId 获取。

cropArea

(可选)视频帧的展示区域,详见 Rectangle。其中,width 和 height 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。

backgroundColor

视频画布的背景颜色,格式为 RGBA。默认值为 0x00000000,代表黑色。

enableAlphaMask

注:

  • 仅当发送端开启 Alpha 传输功能时,接收端才能渲染 Alpha 通道的信息。
  • 如需开启 Alpha 传输功能,请联系技术支持。

(可选)是否开启 Alpha 遮罩渲染:

  • true:开启 Alpha 遮罩渲染。
  • false:(默认)关闭 Alpha 遮罩渲染。

Alpha 遮罩渲染可以创建具有透明效果的图像,还可以提取视频中的人像。与其他方法结合使用时,可以实现人像画中画、添加水印等效果。

position

视频帧在视频链路中的位置。详见 VideoModulePosition。

表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?