startImageStream method
Future<void>
startImageStream({
- required void onImageStream(
- CameraImage image,
- int sensorOrientation,
- DeviceOrientation deviceOrientation,
- CameraLensDirection cameraLensDirection,
Starts streaming the camera image data and triggers onImageStream every two seconds.
onImageStreamis called with the camera image at regular intervals.
Implementation
Future<void> startImageStream({
required void Function(
CameraImage image,
int sensorOrientation,
DeviceOrientation deviceOrientation,
CameraLensDirection cameraLensDirection,
) onImageStream,
}) async {
if (cameraController == null) {
log("unable to startImageStream, cameraController missing");
return;
}
if (_isStreamingImage) {
log("unable to startImageStream, already startImageStream");
return;
}
cameraController?.startImageStream((image) {
_isStreamingImage = true;
if (_streamImageTimer != null) return;
_streamImageTimer = Timer(const Duration(seconds: 2), () {
onImageStream(
image,
_cameraDescription.sensorOrientation,
cameraController?.value.deviceOrientation ?? DeviceOrientation.portraitUp,
cameraLensDirection,
);
_streamImageTimer?.cancel();
_streamImageTimer = null;
});
});
log("successfully startImageStream");
}