VideoViewController

  • Flutter

更新时间不可用

AgoraVideoView 的控制器,用于渲染本地和远端视频。

Dart
class VideoViewController
    with VideoViewControllerBaseMixin
    implements VideoViewControllerBase {
  VideoViewController({
    required this.rtcEngine,
    required this.canvas,
    this.useFlutterTexture = false,
    this.useAndroidSurfaceView = false,
  }) : connection = const RtcConnection();

  VideoViewController.remote({
    required this.rtcEngine,
    required this.canvas,
    required this.connection,
    this.useFlutterTexture = false,
    this.useAndroidSurfaceView = false,
  }) : assert(connection.channelId != null);

  @override
  final RtcEngine rtcEngine;

  @override
  final VideoCanvas canvas;

  @override
  final RtcConnection connection;

  @override
  final bool useFlutterTexture;

  @override
  final bool useAndroidSurfaceView;

  @protected
  @override
  int getVideoSourceType() {
    return canvas.uid! == 0
        ? VideoSourceType.videoSourceCamera.value()
        : VideoSourceType.videoSourceRemote.value();
  }
}

在不同平台上,该类对应的默认视图不同:

属性

参数名描述
rtcEngine
canvas

本地视频显示属性。详见 VideoCanvas。

connection

Connection 信息。详见 RtcConnection。

useFlutterTexture

注: FlutterTexture 适用于 Android、iOS、macOS 和 Windows 平台。

是否使用 FlutterTexture 渲染视频:

  • true: 使用 FlutterTexture 渲染视频。
  • false: 不使用 FlutterTexture 渲染视频。
useAndroidSurfaceView

注: Android SurfaceView 仅适用于 Android 平台。

是否使用 Android SurfaceView 渲染视频:

  • true: 使用 Android SurfaceView 渲染视频。
  • false: 不使用 Android SurfaceView 渲染视频。
表格内容超出当前宽度,可横向滚动查看更多列。

相关参考

这个页面有帮助吗?