【问题标题】:MediaRecorder: start failed: -2147483648MediaRecorder:启动失败:-2147483648
【发布时间】:2016-03-22 22:07:28
【问题描述】:

我在23+ api 上发现了这个异常。在 api 22 及更低版本上,一切正常。你能帮我找到解决办法吗? 我正在使用23 api 目标并尝试了不同的配置,但仍然有问题

E/MediaRecorder: start failed: -2147483648
W/System.err: java.lang.RuntimeException: start failed. W/System.err: at android.media.MediaRecorder.start(Native Method)
W/System.err: at com.ksy.recordlib.service.recoder.RecoderVideoSource.prepare(RecoderVideoSource.java:105)
W/System.err: at com.ksy.recordlib.service.recoder.RecoderVideoSource.run(RecoderVideoSource.java:173) 
W/System.err: at java.lang.Thread.run(Thread.java:818)

我发现,崩溃的原因是我的输出

 >try {
 >   this.piple = ParcelFileDescriptor.createPipe();
 >} catch (IOException e) {
 >   e.printStackTrace();
 >}
 >mediaRecorder.setOutputFile(this.piple[1].getFileDescriptor());

我该如何解决这个问题?

【问题讨论】:

  • 录制音频是棉花糖中的危险权限,因此您需要在继续之前检查权限,否则会引发异常。
  • 谢谢!我检查了权限,但异常仍然存在。
  • 查看权限框架所需的 +23 更改...developer.android.com/training/permissions/index.html
  • 使用权限并没有帮助。我也使用了目标 api 19 和 22。但问题仍然存在。

标签: android mediarecorder android-mediarecorder


【解决方案1】:

由于 Android API 级别 = 23,因此在编码 MPEG4 视频时不再可能使用不可搜索的文件描述符(ParcelFileDescriptor 也是如此)。从这个commit 可以看出,MPEG4Writer 已被修改为在检测到不可查找的文件描述符时打印错误并退出。

为方便起见,在下面粘贴提到的代码:

// Verify mFd is seekable
off64_t off = lseek64(mFd, 0, SEEK_SET);
if (off < 0) {
    ALOGE("cannot seek mFd: %s (%d)", strerror(errno), errno);
    release();
}

【讨论】:

    【解决方案2】:

    对我来说,MediaRecorder 启动失败:-2147483648 错误 取决于设备和操作系统级别。通常,录音机 将启动 1 次,随后的启动将失败。 解决方法是添加对 MediaRecorder.release() 的调用。 这使得后续启动工作正常。

    ...
    try {
       audioRecorderType_MR.stop();
       audioRecorderType_MR.release();  // <<-- ADD THIS LINE
    } catch (Exception e) {
       J42CallerId.printStackTrace(new J42ProgramCheck("J42VM0072E:", e));
    }
    audioRecorderType_MR = null;
    ...
    

    【讨论】:

      猜你喜欢
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 2012-07-30
      • 2012-06-30
      相关资源
      最近更新 更多