【发布时间】:2022-08-02 16:11:53
【问题描述】:
我正在使用我直接从 pub.dev 获得的关于初始化相机和创建可用相机列表的代码
该列表是在 Future main() 函数中创建的,但是当我导航到 CameraApp 页面时它不会被自动调用。有没有人遇到过这个问题?当使用此代码导航到页面时,如何初始化相机并创建可用相机列表?请帮忙,谢谢。
/// CameraApp is the Main Application.
class CameraApp extends StatelessWidget {
/// Default Constructor
const CameraApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: CameraExampleHome(),
);
}
}
List<CameraDescription> _cameras = <CameraDescription>[];
Future<void> main() async {
// Fetch the available cameras before initializing the app.
try {
WidgetsFlutterBinding.ensureInitialized();
_cameras = await availableCameras();
} on CameraException catch (e) {
_logError(e.code, e.description);
}
runApp(const CameraApp());
}
这是我从按钮内部调用 CameraApp 函数的代码:
ElevatedButton(
onPressed: ()
{Navigator.push(
context,
MaterialPageRoute(
builder: (context) => CameraApp()));},
child: const Text(\'Camera\'),
style: ElevatedButton.styleFrom(
minimumSize: const Size(160.0, 35.0)),
),
-
抱歉,如果我的问题不清楚,我正在尝试初始化和 camera_ 中的相机列表,但是当我调用 CameraApp 函数时,获取列表的 Future main() 函数没有执行。
-
有人可以帮助我,让我知道相机是否应该始终在 main() 中初始化,我正试图在外面做这件事,这导致了我这个问题。如果可以在 main() 之外进行初始化,那么正确的结构是什么?
-
仍然希望得到答案,当从 pub.dev 使用示例代码时,它在一个文件中运行良好,但将代码拆分为不同的组件会导致错误。
-
好的。在 main.js 中使用一些服务文件初始化和存储相机(和控制器)怎么样?那么在CameraApp中,你从这个服务中访问摄像头吗?
-
您是否尝试在 CameraApp 文件的 initState 中进行初始化程序调用
标签: flutter dart flutter-dependencies