尝试使用修改后的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>
答案 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,错误就消失了。
我不知道为什么,但现在,它正在发挥作用。
如果有人对此错误有解释,请与我们分享。