有没有办法在flutter中使用0.8.1摄像头从我的摄像头中流处理帧,并在流媒体的同时保持闪光灯亮着?在windows上工作并在android上运行
相机0.8.1的例子并没有给我一个如何设置闪光模式状态的想法。但我仍然是一个新手,所以很可能会错过它。谢谢。Get this error══╡EXCEPTION BY WIDGETS LIBRARY╞═══════════════════════════════════════════════════════════The WIDGETS══╡EXCEPTION WIDGETS to the render tree:方法'setFlashMode‘在══╡上被调用。接收方:尝试的调用为空:setFlashMode(‘FlashMode’的实例)
当抛出异常时,这就是堆栈:#0核心补丁(dart: Object.noSuchMethod - (package:flutter/src/widgets/framework.dart:4632:57) /object_patch.dart:54:5) #1 Object.noSuchMethod(软件包:_CameraAppState.initState /main.dart:26:13) #2 StatefulElement._firstBuild Object.noSuchMethod #3 ComponentElement.mount _CameraAppState.initState #4 _CameraAppState.initState(软件包:StatefulElement._firstBuild/src/ComponentElement.mount Element.inflateWidgetRenderObjectToWidgetAdapter.attachToRenderTree. ( /framework.dart:3541:14) #5 Element.updateChild (package:flutter/src/widgets/framework.dart:3306:18) #6 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1182:16) #7 RenderObjectToWidgetElement._rebuild(package:flutter/src/widgets/binding.dart:1182:16) #8 RenderObjectToWidgetAdapter.attachToRenderTree.(package:flutter/src/widgets/binding.dart:1095:18) #9 BuildOwner.buildScope RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1094:13) #10 (package:flutter/src/widgets/binding.dart:934:7) #11 BuildOwner.buildScope WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:934:7) #12 WidgetsBinding.scheduleAttachRootWidget。(package:flutter/src/widgets/binding.dart:915:7) (从_RawReceivePortImpl类、_Timer类、dart:async和dart:async-patch中省略了11帧)我有的代码是为了在这个时候进行预览,并希望在应用程序启动时启动flash。
import 'dart:async';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:camera/camera.dart';
List<CameraDescription> cameras;
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
cameras = await availableCameras();
_cameraController.setFlashMode(FlashMode.always);
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.max);
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 MaterialApp(
home: CameraPreview(controller),
);
}
}发布于 2021-05-19 00:15:49
您可以使用相机控制器设置flashmode,如下所示
CameraController _cameraController;
List<CameraDescription> cameras=await availableCameras();
controller = CameraController(cameras[0], ResolutionPreset.max);
_cameraController.setFlashMode(FlashMode.always);
_cameraController.setFlashMode(FlashMode.always);并将控制器指定给相机预览
CameraPreview(_cameraController)发布于 2021-05-20 13:46:32
为了在流媒体的同时保持闪光灯的亮起,我唯一能做的就是使用controller.setFlashMode(FlashMode.torch);
https://stackoverflow.com/questions/67589256
复制相似问题