首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >响应本机摄像机记录异步启动失败错误

响应本机摄像机记录异步启动失败错误
EN

Stack Overflow用户
提问于 2019-06-03 16:08:40
回答 1查看 1.3K关注 0票数 0

当我点击android设备上的“记录”按钮时,反应-本机相机抛出一个错误“开始失败”。

代码语言:javascript
代码运行次数:0
运行
复制
Error: start failed.
    at createErrorFromErrorData (NativeModules.js:155)
    at NativeModules.js:104
    at MessageQueue.__invokeCallback (MessageQueue.js:414)
    at MessageQueue.js:127
    at MessageQueue.__guard (MessageQueue.js:314)
    at MessageQueue.invokeCallbackAndReturnFlushedQueue (MessageQueue.js:126)
    at debuggerWorker.js:80
  1. 权限代码已添加到AndroidManifest.xml文件中。
代码语言:javascript
代码运行次数:0
运行
复制
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  1. 所有权限都是使用PermissionsAndroid检查的。
  2. 尝试传递质量选项(如链接中提到的)
代码语言:javascript
代码运行次数:0
运行
复制
setCameraReady = () => {
    this.setState({
      cameraReady: true
    });
};
代码语言:javascript
代码运行次数:0
运行
复制
startRecording = async () => {
    const { cameraReady } = this.state;
    if (cameraReady) {
      try {
        // default to mp4 for android as codec is not set
        const { uri, codec = 'mp4' } = await this.camera.recordAsync({
          maxDuration: 30
        });
        console.log(uri)
      } catch (error) {
        console.log(error);
      }
    }
  };
代码语言:javascript
代码运行次数:0
运行
复制
 stopRecording = () => {
    this.camera.stopRecording();
  };
代码语言:javascript
代码运行次数:0
运行
复制
<RNCamera
    style={cameraStyle}
    ref={(ref) => {
      this.camera = ref;
    }}
    type={cameraType}
    mirrorImage={cameraType !== 'back'}
    androidCameraPermissionOptions={{
      title: 'Permission to use camera',
      message: 'We need your permission to use your camera phone',
      buttonPositive: 'Ok',
      buttonNegative: 'Cancel'
    }}
    androidRecordAudioPermissionOptions={{
      title: 'Permission to use audio recording',
      message: 'We need your permission to use your audio',
      buttonPositive: 'Ok',
      buttonNegative: 'Cancel'
    }}
    onCameraReady={this.setCameraReady}
   />

应该在recordAsync承诺得到解决后获得URI。

EN

回答 1

Stack Overflow用户

发布于 2019-07-03 06:20:26

多亏了反应本土化的摄象队。

更新反应-本机相机的最新版本,即1.10.0修复了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56430983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档