首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaRecorder:启动失败

MediaRecorder:启动失败
EN

Stack Overflow用户
提问于 2014-02-22 20:29:48
回答 1查看 10.1K关注 0票数 2

我在谷歌上搜索过,但没有找到任何解决方案。

我在记录来来往往的电话

代码适用于传出呼叫,但在传入呼叫时给出异常。

代码语言:javascript
复制
    recorder = new MediaRecorder();

    File sdCard = Environment.getExternalStorageDirectory();
    File dir = new File(sdCard.getAbsolutePath() + "/OK");
    dir.mkdirs();

    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
 recorder.setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath()+"/OK/"+"yes"+".3gpp");
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

    try {
       recorder.prepare();
       recorder.start();
    } catch (IllegalStateException e) {
         Log.d("illegal",e.toString());
    } catch (IOException e) {
         Log.d("io",e.toString());
   }

Logcat

代码语言:javascript
复制
02-23 01:43:08.346  11231-11231/com.example.myapps.acr **I/record﹕ start**
02-23 01:43:08.426  11231-11231/com.example.myapps.acr **E/MediaRecorder﹕ start failed: -38**
02-23 01:43:08.426  11231-11231/com.example.myapps.acr **D/illegal﹕ java.lang.IllegalStateException**

请帮助它为什么不能处理来电。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-24 11:48:24

代码语言:javascript
复制
recorder.prepare();
Thread.sleep(1000);
recorder.start();

打进来的电话需要时间来准备。

保持准备1秒,一切都正常。

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

https://stackoverflow.com/questions/21960117

复制
相关文章

相似问题

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