我正在尝试使用官方的Flutter相机包,但是无论选择哪个分辨率,拍照方法都需要很长时间(大约3-5秒)。有没有办法加快速度?我正在使用Pixel 5作为开发设备。目前,我向用户显示一条消息,告诉他们在拍照时保持静止,但这感觉不好。编辑:我将图片格式从yuv420降级为jpeg,速度略有提升。
这是官方相机包中已知的问题:
https://github.com/flutter/flutter/issues/84957
您可以点赞以引起更多关注。
您也可以尝试使用CamerAwesome包。它没有官方包那么多的功能,但在我的测试中,它几乎可以立即拍照。
CamerAwesome: https://pub.dev/packages/camerawesome
更新。 要使其真正即时,代码应该像这样:
//final AutoFocusFeature autoFocusFeature = cameraFeatures.getAutoFocus();
//final boolean isAutoFocusSupported = autoFocusFeature.checkIsSupported();
//if (isAutoFocusSupported && autoFocusFeature.getValue() == FocusMode.auto) {
// runPictureAutoFocus();
//} else {
// runPrecaptureSequence();
//}
takePictureAfterPrecapture();
//if (isAutoFocusSupported && autoFocusFeature.getValue() == FocusMode.auto) {
// runPictureAutoFocus();
//} else {
runPrecaptureSequence();
//}
takePicture
时,在大多数情况下它会立即返回。虽然不是总是如此,但比以前好得多。现在可以使用了。dependency_overrides:
camera_android:
path: ../camera_android