我已经用谷歌搜索了,但是没有找到任何解决方案
我正在记录来电和去电
代码可以很好地与拨出电话配合使用,但在拨入电话时会产生异常
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的
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**
请帮助为什么它不能在拨入电话上工作.
解决方法:
recorder.prepare();Thread.sleep(1000);recorder.start();
对于来电,需要花费一些时间进行准备.
保持准备1秒钟,一切正常.
总结以上是内存溢出为你收集整理的android-MediaRecorder:启动失败全部内容,希望文章能够帮你解决android-MediaRecorder:启动失败所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)