flutter - 如何在flutter中使用Camera Plugin录制视频?
问题描述
我有这个页面,其中相机已初始化并准备好一个按钮,该按钮将记录和停止视频,所以我尝试了这个:
FlatButton(
onPressed: () => {
!isRecording
? {
setState(() {
isRecording = true;
}),
cameraController.prepareForVideoRecording(),
cameraController.startVideoRecording('assets/Videos/test.mp4')
}
: cameraController.stopVideoRecording(),
},
............
但抛出此错误:nhandled Exception: CameraException(videoRecordingFailed, assets/Videos/test.mp4: open failed: ENOENT (No such file or directory))
。我不明白,我不想打开这个文件我想把它保存在那里,我的代码有什么问题吗?
解决方案
在新版本中,静态方法 startRecordingVideo 不带任何字符串参数。当您想开始录制时,只需查看是否已经录制了视频,如果没有开始
if (!_controller.value.isRecordingVideo) {
_controller.startVideoRecording();
}
当你想完成录制时,你可以调用静态方法 stopVideoRecording(),它会给你一个 XFile 类的对象,它会有你的视频的路径。
if (_controller.value.isRecordingVideo) {
XFile videoFile = await _controller.stopVideoRecording();
print(videoFile.path);//and there is more in this XFile object
}
这件事对我有用。我是新来的,如果你知道更多,请改进我的答案。
推荐阅读
- powershell - 调用 Jenkins API 时使用 Powershell 替代 curl
- sql - 查询表达式中的 MS Access 语法错误(缺少运算符)不存在
- terraform - 如何使用 Terraform 代码在 azure vm 中附加磁盘
- drupal - Drupal 9 是否有任何 Oracle 驱动程序(模块)?
- session - 通过邮递员调用注销后会话对象不清晰
- php - 在 Codeigniter 中如何让库等到视图被渲染
- pyspark - 如何键入提示转换 RDD 的函数?
- python - 使用 mangle_dupe_cols 和 pandas 来简化 read_csv
- css - 在背景图像和元素上重叠头像图像
- assembly - mips 中的 ISR 无法正确恢复我的寄存器