【问题标题】:startimagestream in flutter not working in webflutter 中的 startimagestream 在网络中不起作用
【发布时间】:2023-01-22 11:57:13
【问题描述】:

我正在使用相机来获取图像流。 我在开始直播时收到此错误

Uncaught (in promise) Error: Assertion failed: 
file:///home/rahul/snap/flutter/common/flutter/.pub- 
cache/hosted/pub.dartlang.org/camera-0.9.8+1/lib/src/camera_controller.dart:422:12
defaultTargetPlatform == TargetPlatform.android ||
    default

这是我的代码

// ignore_for_file: unused_local_variable, avoid_print, unused_element, unused_import, 
   depend_on_referenced_packages, must_be_immutable, sized_box_for_whitespace
   import 'dart:async';

   import 'package:flutter/material.dart';
   import 'package:flutter/services.dart';
   import 'package:heart_rate_app/networking/firebase_api.dart';
   import 'package:heart_rate_app/networking/heart_rate_api.dart';
   import 'dart:io' as io;
   import 'package:path_provider/path_provider.dart';
   import 'package:camera/camera.dart';
   import 'package:cross_file_image/cross_file_image.dart';

   import '../utils/color_detector.dart';

   class HomePage extends StatefulWidget {
    HomePage({Key? key, required this.cameras}) : super(key: key);
   List<CameraDescription> cameras;

  @override
  State<HomePage> createState() => _HomePageState();
  }

    class _HomePageState extends State<HomePage> {
    List<CameraDescription> cameras = [];
      late CameraController controller;



 @override
void initState() {
super.initState();
controller = CameraController(widget.cameras[0], ResolutionPreset.high);
controller.initialize().then((value) {
  if (!mounted) {
    return;
  }
  setState(() {});
});
 }

 @override
 void dispose() {
   controller.dispose();
   super.dispose();
  }

  @override
  Widget build(BuildContext context) {
   if (!controller.value.isInitialized) {
     return Container();
   }
   return Scaffold(
    body: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: [
      Container(
        height: 100,
        width: 100,
        child: CameraPreview(controller,),
      ),
      SizedBox(height: 20,),
     
   
      ElevatedButton(
          onPressed: () async {
            controller.startImageStream((image) {

            });
        
          },
          child: const Text("capture")),
    
    ],
  ),
   );


 }


}

这是来自 chrome 桌面的错误屏幕截图。我也试过我的手机 chrome (android) 得到同样的错误。

................................................... ........................

请为此提供一些解决方案。提前致谢。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    只需添加https://pub.dev/packages/camera_web。在你的 pubspec.yaml 文件中打包。

    它会自动添加网络支持。

    【讨论】:

    • 我试过但没有用。 camera_web:^0.2.1+6。但我已经在使用 flutter_camera: ^0.1.1 。它也支持网络
    【解决方案2】:

    camera_web 插件正在开发中。

    缺少 camera_web 的实现
    摄像头的 Web 实现缺少以下功能:

    1. 曝光模式、点和偏移
    2. 对焦模式和点
    3. 传感器方向
    4. 图像格式组
    5. 帧流

    【讨论】:

      猜你喜欢
      • 2020-09-09
      • 2021-10-17
      • 2012-09-29
      • 2012-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      相关资源
      最近更新 更多