1

尝试在修改了 flashMode 属性的情况下拍照时出现以下错误:

{ NSLocalizedDescription: 'Error Domain=AVFoundationErrorDomain Code=-11800 "操作无法完成" UserInfo={NSUnderlyingError=0x170440210 {Error Domain=NSOSStatusErrorDomain Code=-16800 "(null)"}, NSLocalizedFailureReason=发生未知错误 (- 16800), NSLocalizedDescription=操作无法完成}' } } 2017-09-12 00:08:29.907053-0300 GimenesApp[1936:765074] { [Error: Error Domain=AVFoundationErrorDomain Code=-11800“操作不能完成" UserInfo={NSUnderlyingError=0x170440210 {Error 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>
4

1 回答 1

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 并且错误消失了。

我不知道为什么,但现在,它正在工作。

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

于 2017-09-18T22:53:10.960 回答