简介:如何检查录音是否已经在其他应用程序的后台运行。
详细信息:如果录音已经从 native 应用程序在后台运行:录音机。
现在我已经实现了录音作为我的应用程序中的功能之一。
问题:当我同时尝试在我的应用程序中录制时,出现错误:
: E/MediaRecorder: start failed: -38
: E/MyApp: [1162][com.sec.MyApp.multimedia.RecordMyVoice]java.lang.IllegalStateException
: E/MyApp: at android.media.MediaRecorder.start(Native Method)
: E/MyApp: at com.sec.MyApp.multimedia.RecordMyVoice.doInBackground(RecordMyVoice.java:100)
RecordMyVoice.java 中第 100 行的代码:
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(mFileName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.prepare();
mRecorder.start(); //code at 100th line
但问题是因为已经在后台运行录音。
因此,如果它在其他应用程序中运行,有没有办法停止录音。
任何输入都会有很大帮助。
最佳答案
我遇到了同样的错误 -38,我发现有另一个后台服务通过(AudioRecord)使用麦克风,当禁用后台服务时,它起作用了。
关于android:媒体记录器:启动失败:-38,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12675120/