【发布时间】:2019-07-15 09:42:18
【问题描述】:
我需要在 Flutter 中创建一个考试应用程序,我们需要每隔一段时间为用户拍摄照片和视频,而在此过程中我们不想显示相机屏幕。
我尝试使用 Flutter 的 Camera 插件,但在没有相机预览的情况下我无法找到任何方法来捕获图像和视频。
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:camera/camera.dart';
List<CameraDescription> cameras;
Future<void> main() async {
cameras = await availableCameras();
runApp(CameraApp());
}
class CameraApp extends StatefulWidget {
@override
_CameraAppState createState() => _CameraAppState();
}
class _CameraAppState extends State<CameraApp> {
CameraController controller;
@override
void initState() {
super.initState();
controller = CameraController(cameras[0], ResolutionPreset.medium);
controller.initialize().then((_) {
if (!mounted) {
return;
}
setState(() {});
});
}
@override
void dispose() {
controller?.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
if (!controller.value.isInitialized) {
return Container();
}
return AspectRatio(
aspectRatio:
controller.value.aspectRatio,
child: CameraPreview(controller));
}
}
我不想显示预览屏幕并每隔一段时间拍摄图像或视频
【问题讨论】:
-
由于隐私问题,我怀疑 Android 或 iOS 会允许您这样做。
-
在 Android 中,可以通过将输出定向到 SurfaceTexture stackoverflow.com/a/25769551/3493655
-
尝试在 Stack 的帮助下使用 Container 覆盖 cameraPreview
标签: flutter