使用修改后的flashMode属性拍摄照片时出现React-Native-Camera错误

时间:2017-09-12 03:27:58

标签: react-native react-native-camera

尝试使用修改后的flashMode属性拍摄照片时出现以下错误:

  

{NSLocalizedDescription:'Error Domain = AVFoundationErrorDomain   代码= -11800“操作无法完成”   UserInfo = {NSUnderlyingError = 0x170440210 {错误   Domain = NSOSStatusErrorDomain Code = -16800“(null)”},   NSLocalizedFailureReason =发生未知错误(-16800),   NSLocalizedDescription =操作无法完成}'}}   2017-09-12 00:08:29.907053-0300 GimenesApp [1936:765074] {[错误:   错误域= AVFoundationErrorDomain代码= -11800“操作可以   未完成“UserInfo = {NSUnderlyingError = 0x170440210 {错误   Domain = NSOSStatusErrorDomain Code = -16800“(null)”},   NSLocalizedFailureReason =发生未知错误(-16800),   NSLocalizedDescription =无法完成操作}]

以下是我正在使用的代码片段:

<Camera
    captureTarget={Camera.constants.CaptureTarget.disk}
    ref={(cam) => {
      this.camera = cam;
    }} 
    flashMode={this.state.flashMode}>
    <Button onPress={this.takePicture.bind(this)} transparent 
      <Icon name="ios-radio-button-off" />
    </Button>
</Camera>

1 个答案:

答案 0 :(得分:0)

所以,我解决了这个错误,删除了对setState的两次调用

这是我的拍照方式:

  takePicture() {
    const options = {};
    this.camera.capture({metadata: options})
      .then((data) => {
        this.setState({
          PHOTO_PATH: data.path,
          IS_NOT_PHOTO_TAKE: false
        });
      })
      .catch(err => {
        console.error(err)
      });
  };

之前,我在takePicture方法中设置了两次状态。我只是移动了外部的setState,错误就消失了。

我不知道为什么,但现在,它正在发挥作用。

如果有人对此错误有解释,请与我们分享。