Flutter “照相机用手电筒”;0“;由于存在摄影机用户抖动,因此不可用

Flutter “照相机用手电筒”;0“;由于存在摄影机用户抖动,因此不可用,flutter,dart,Flutter,Dart,在我的Flitter应用程序中,当相机打开时,我试图打开闪光灯/手电筒。我使用的是颤振软件包,我确实使用了所有关于火炬的颤振软件包,但它们都给了我同样的两个错误: android.hardware.camera2.CameraAccessException:CAMERA_IN_USE(4):setTorchMode:1598:由于现有的相机用户,相机“0”的火炬不可用 未处理的异常:MissingPluginException(在通道g123k/torch\u compat上未找到方法开启的实现

在我的Flitter应用程序中,当相机打开时,我试图打开闪光灯/手电筒。我使用的是颤振软件包,我确实使用了所有关于火炬的颤振软件包,但它们都给了我同样的两个错误:

  • android.hardware.camera2.CameraAccessException:CAMERA_IN_USE(4):setTorchMode:1598:由于现有的相机用户,相机“0”的火炬不可用
  • 未处理的异常:MissingPluginException(在通道g123k/torch\u compat上未找到方法开启的实现)
  • My Manifest.xml:

     <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-feature android:name="android.hardware.camera.flash" />
    
    
    
    我已经做了很多搜索,所有的解决方案都告诉我要运行flutter clean和flutter run。

    setTorchMode

    在API级别23中添加

    public void setorchmode(字符串), 布尔值(已启用) 在不打开相机设备的情况下,设置给定ID相机的闪光灯模式

    使用getCameraIdList()获取可用相机设备的列表,并使用getCameraCharacteristics(字符串)检查相机设备是否具有闪光灯。请注意,即使相机设备具有闪光灯,如果相机设备或打开手电筒模式所需的其他相机资源正在使用中,打开手电筒模式也可能失败

    如果调用setTorchMode(字符串,布尔值)以成功打开或关闭torch模式,则将调用CameraManager.TorchCallback#onTorchModeChanged。但是,即使成功打开火炬模式,应用程序也不具有闪光灯或相机设备的专有所有权。当闪光装置所属的相机设备不可用或用于保持手电筒打开的其他相机资源不可用时(将调用CameraManager.TorchCallback#onTorchModeUnavailable),手电筒模式将关闭并不可用。另外,其他应用程序可以自由调用setTorchMode(字符串、布尔值)来关闭torch模式(将调用CameraManager.TorchCallback#onTorchModeChanged)。如果打开火炬模式的最新应用程序退出,火炬模式将关闭。

    请尝试使用camerakit()进行闪存。也许对你有帮助。