stopVideoRecording method

Future<XFile?> stopVideoRecording(
  1. T lav,
  2. void setState(
    1. void ()
    )
)

Implementation

Future<XFile?> stopVideoRecording(T lav, void Function(void Function()) setState) async {
  if (!widget.photoController!.value.isRecordingVideo) {
    return null;
  }

  try {
    await widget.photoController!.stopVideoRecording().then((filexFromCam) async {
      var id = Uuid().v4();
      var fileTmp = File("${XLibStorage.filePath}/XMEDIAS/${id}_.mp4");
      fileTmp.createSync(recursive: true);
      var minia = await generateVideoThumbnail(filexFromCam.path);
      await filexFromCam.readAsBytes().then((bytes) {
        var xm = XMediaItem(id, payload: bytes, xDocID: (lav as XFDataItem).id, miniatura: minia, mediaType: XEnums.mediaType.video.value, isNew: true);
        widget.parentSetState(() {
          widget.lXMedias.add(xm);
        });

        videoFile = filexFromCam;
        // widget.onTake_Video(videoFile!, lav, onTakeMedia, setState);
        //    fileTmp.delete();
      });
      setState(() {
        waiterMessage = "";
      });
      return filexFromCam;
    });
  } on CameraException catch (e) {
    _showCameraException(e);
    return null;
  }
  return null;
}