我正在尝试在录制的视频上实现文字叠加。但是,当打开键盘并尝试键入文本时,UI会冻结。因此,我想以不同的隔离而非主UI线程播放录制的视频。为此,我确实是如此。
代码:
// this is a top-level function
_startVideoPlayer(String videoPath) async {
final VideoPlayerController vcontroller =
new VideoPlayerController.file(new File(videoPath));
await vcontroller.setLooping(true);
await vcontroller.initialize();
await vcontroller.play();
return vcontroller;
}
// build function
return new SafeArea(
child: new FutureBuilder(
future: compute(_startVideoPlayer, videoPath),
builder: (context, snapshot) {
if (!snapshot.hasData) return new CircularProgressIndicator();
print(snapshot);
print(snapshot.data);
return new Container();
},
),
);
但是控制台说那些。
[VERBOSE-2:dart_isolate.cc(813)]隔离(821446869) 'main.dart:_spawn()'退出并出现错误
[VERBOSE-2:shell.cc(181)] Dart错误:未处理的异常:NoSuchMethodError:方法 在null上调用了“ addObserver”。
接收方:null尝试调用: addObserver(“ _ VideoAppLifeCycleObserver的实例”)
有人知道我该如何解决吗?
我真的不知道该怎么办
任何帮助表示赞赏!