startVideoRecording method
Start a video recording and save the file to path
.
A path can for example be obtained using path_provider.
The file is written on the flight as the video is being recorded. If a file already exists at the provided path an error will be thrown. The file can be read as soon as stopVideoRecording returns.
Throws a CameraException if the capture fails.
Implementation
Future<void> startVideoRecording(String filePath) async {
if (!value.isInitialized || _isDisposed) {
throw CameraException(
'Uninitialized CameraController',
'startVideoRecording was called on uninitialized CameraController',
);
}
if (value.isRecordingVideo) {
throw CameraException(
'A video recording is already started.',
'startVideoRecording was called when a recording is already started.',
);
}
if (value.isStreamingImages) {
throw CameraException(
'A camera has started streaming images.',
'startVideoRecording was called while a camera was streaming images.',
);
}
try {
await _channel.invokeMethod<void>(
'startVideoRecording',
<String, dynamic>{'textureId': _textureId, 'filePath': filePath},
);
value = value.copyWith(isRecordingVideo: true, isRecordingPaused: false);
} on PlatformException catch (e) {
throw CameraException(e.code, e.message!);
}
}