在 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 中打开/关闭手电筒 - 替代解决方案的主要内容,如果未能解决你的问题,请参考以下文章
[opencv]QRcodeScanner二维码相关技术集成