首页 > 解决方案 > 如何在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))。我不明白,我不想打开这个文件我想把它保存在那里,我的代码有什么问题吗?

标签: fluttercameraandroid-cameravideo-recording

解决方案


在新版本中,静态方法 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
  }

这件事对我有用。我是新来的,如果你知道更多,请改进我的答案。


推荐阅读