反应本机相机记录异步启动失败错误

Posted

技术标签:

【中文标题】反应本机相机记录异步启动失败错误【英文标题】:React native camera recordasync start failed error 【发布时间】:2019-06-03 16:08:40 【问题描述】:

当我点击 android 设备 react-native-camera 上的录制按钮时,会抛出错误“启动失败”。

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
    已将权限代码添加到 AndroidManifest.xml 文件中
<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" />
    使用 PermissionsAndroid 检查授予所有权限。 尝试通过Link 中提到的质量选项
setCameraReady = () => 
    this.setState(
      cameraReady: true
    );
;
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);
      
    
  ;
 stopRecording = () => 
    this.camera.stopRecording();
  ;
<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。

【问题讨论】:

我已将范围缩小到与一加安卓相机相关的问题。我已经在三星、Vivo、Oppo 和 Redmi 等多种设备上测试了相同的应用程序,它们都运行良好。但是在 OnePlus 中启动失败错误后,相同的应用程序崩溃。 【参考方案1】:

感谢 react-native-camera 团队。

将 react-native-camera 更新到最新版本,即 1.10.0 修复了该问题。

【讨论】:

以上是关于反应本机相机记录异步启动失败错误的主要内容,如果未能解决你的问题,请参考以下文章

反应本机签名的 apk 构建失败 lint 错误

将本机构建反应到设备失败

Android 相机启动预览失败

MediaRecorder:启动失败:-19

命令“npm start”中的问题在第四个 tic-tac-toe@0.1.0 启动脚本中失败。 npm 错误!反应脚本:未找到

反应本机初始化失败