在 QRcodeScanner React native 中打开/关闭手电筒 - 替代解决方案

Posted

技术标签:

【中文标题】在 QRcodeScanner React native 中打开/关闭手电筒 - 替代解决方案【英文标题】:Turn flashlight on/off In QRcodeScanner React native - Alternative Solution 【发布时间】:2019-11-18 09:12:18 【问题描述】:

Turn flashlight on/off In QRcodeScanner React native

我已按照上面的教程进行操作,但仍然无法正常工作。按下触摸不透明度时不会打开闪光灯。

问题与发送问题相同,但他的解决方案对我不起作用,不知道为什么。

更新 我找到了解决方案,如果其他帖子不适合您,您应该逐步尝试此操作。可能它会在 react-native-qrcode-scanner 的未来 PR 中合并,但现在应该可以解决。

import QRCodeScanner from "react-native-qrcode-scanner";
import  RNCamera  from "react-native-camera"

QRCodeScanner 上的道具:

cameraStyle= height: SCREEN_HEIGHT 
cameraProps flashMode: this.state.isFlashOn ? RNCamera.Constants.FlashMode.torch : RNCamera.Constants.FlashMode.off, captureAudio: false 
customerMarker=this.renderCustomMarker />

按钮:

<TouchOpacity activeOpacity=1 onPress=() => 
       this.setState(isFlashOn: !this.state.isFlashOn);
       this.scanner.reactivate();
    >

【问题讨论】:

【参考方案1】:

我的解决方案是: https://github.com/moaazsidat/react-native-qrcode-scanner/issues/117

感谢@Albert0405!

这是@Albert0405 为我解决的问题:

1) 进入 node_modules 并找到 react-native-qrcode-scanner 文件夹并打开 index.js

2)找到_renderCamera()然后在Camera组件上,改一下

<Camera
   type=cameraType
   flashMode=this.props.flashMode // Just add this line
   style=[styles.camera, this.props.cameraStyle]
   onBarCodeRead=this._handleBarCodeRead.bind(this)
>
    this._renderCameraMarker()
</Camera>

3)最后一步是在项目中使用 Flash

import QRCodeScanner from "react-native-qrcode-scanner";
import  RNCamera  from "react-native-camera";

<QRCodeScanner
    flashMode=this.state.isFlashOn ? RNCamera.Constants.FlashMode.torch : RNCamera.Constants.FlashMode.off
/>

cameraProps 对我不起作用。所以我把它换成了上面的代码 flashMode。

RNCamera.Constants.FlashMode.torch - 打开手电筒 RNCamera.Constants.FlashMode.off - 关闭手电筒 flashMode 是在 RNCamera 上设置 Flash 的字段

此步骤的作用是启用从 react-native-qrcode-scanner 设置的 flashMode

参考:https://github.com/react-native-community/react-native-camera/blob/master/docs/RNCamera.md

更新:react-native-qrcode-scanner 版本 1.2.2+ 已实施此更改。我的 PR 已合并并可供所有用户使用,要了解如何使用,请阅读 Read Me for git repo。

【讨论】:

将 PR 添加到 github.com/moaazsidat/react-native-qrcode-scanner 以从 QR 码扫描模块修复相机上缺少的道具。

以上是关于在 QRcodeScanner React native 中打开/关闭手电筒 - 替代解决方案的主要内容,如果未能解决你的问题,请参考以下文章

打开/关闭手电筒在QRcodeScanner中反应原生

[opencv]QRcodeScanner二维码相关技术集成

react-native-camera 使我的应用程序崩溃

Progressive Web App (PWA) 二维码扫描器

Kubernetes NAT 流服务器 - 连接被拒绝

在 React-Native 中获取 FCM 令牌