【问题标题】:React Native Camera resets zoom when switching typeReact Native Camera 在切换类型时重置缩放
【发布时间】:2018-05-07 14:26:38
【问题描述】:

您使用的是哪种实现方式

遥控相机

重现步骤

在 Android 上,有一个 RCTCamera 视图,其 zoom 属性设置为从 this.state.zoom 读取,然后执行

this.setState({
      zoom: [any level],
      type: [front type if current camera is back camera, back type if current camera is front camera],
    });

预期行为

大概应该打开另一个相机,将缩放设置为缩放道具。

实际行为

另一个相机打开时根本没有设置缩放。

首次安装组件时它可以正常工作,但之后就不行了。在尝试不同的方法时,我遇到了两个抛出的异常:

在某些情况下会引发异常,因为 setZoom() 调用在释放后尝试使用相机。

当尝试在设置状态的同时直接通过React Native调用setZoom,或者作为setState中的回调参数,由于连接摄像头服务失败而抛出异常。在不切换相机类型的情况下直接通过 React Native 调用setZoom 可以正常工作。

当前和最接近工作的事情,至少在它不直接抛出异常的情况下,是上面的示例,它带有一些日志记录:

05-02 15:33:30.482 1953-1953/com.appname D/zoom: CameraView setZoom 调用,设置为 30 05-02 15:33:30.482 1953-1953/com.appname D/zoom: RCTCamera setZoom 调用,将 cameraType 1 设置为 30 05-02 15:33:30.672 345-11616/? W/QCameraParameters:[PARM_DBG] zoom_level = 30 05-02 15:33:31.112 345-6416/? W/QCameraParameters:[PARM_DBG] zoom_level = 0 05-02 15:33:35.572 1953-1953/com.appname D/zoom: CameraView setZoom 调用,设置为 20 05-02 15:33:35.572 1953-1953/com.appname D/zoom: 调用 RCTCamera setZoom,将 cameraType 2 设置为 20 05-02 15:33:35.912 345-12088/? W/QCameraParameters:[PARM_DBG] zoom_level = 20 05-02 15:33:36.312 345-31706/? W/QCameraParameters: [PARM_DBG] zoom_level = 0

环境

  • Node.js 版本:9.3
  • React Native 版本:0.55.2
  • React Native 平台 + 平台版本:Android 6.0.1,API 23

react-native-camera

版本:Master分支,但是RCCTamera部分是0.12的修改版,因为RCCTamera保存图片的速度比RNCamera快得多,并且有捏缩放功能。

【问题讨论】:

    标签: android react-native react-native-camera


    【解决方案1】:

    解决了。对于遇到相同或类似的非常具体问题的任何人:

    在切换相机类型时,相机参数实际上设置了两次。一次作为 setZoom() 的一部分,按预期工作,再次作为 adjustPreviewLayout() 的一部分,将 setZoom() 中的参数集清零。

    由于这两个函数都在 RTCamera.java 中,我通过让 setZoom() 将缩放值存储在一个变量中(除了它已经在做的),然后让 adjustPreviewLayout() 设置缩放参数来解决这个问题根据那个变量。

    【讨论】:

      猜你喜欢
      • 2020-09-24
      • 2021-09-23
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      相关资源
      最近更新 更多