VideoViewController
- Flutter
更新时间不可用
AgoraVideoView 的控制器,用于渲染本地和远端视频。
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();
}
}在不同平台上,该类对应的默认视图不同:
- Android: https://developer.android.com/reference/android/view/TextureView。如果你想要使用 SurfaceView,则设置
useAndroidSurfaceView的属性为 true。 - iOS: UIView。如果你想要使用 FlutterTexture,则设置
useFlutterTexture的属性为 true。 - macOS 和 Windows:FlutterTexture。
属性
| 参数名 | 描述 |
|---|---|
rtcEngine | |
canvas | 本地视频显示属性。详见 VideoCanvas。 |
connection | Connection 信息。详见 RtcConnection。 |
useFlutterTexture | |
useAndroidSurfaceView |