我正在尝试制作一个简单的应用程序来记录来自MIC的音频,但我已经看过1000个示例,但都给了我同样的错误:
java.lang.RuntimeException:setAudioSource失败。 在android.media.MediaRecorder._setAudioSource(原生方法)
我找不到解决方案,这发生在模拟器(没有MIC,我知道)和我的终端(注4 - Android 6.0.1)。
public class Audio {
private MediaRecorder myAudioRecorder;
String mFileName;
public Audio(Context contexto)
{
myAudioRecorder = new MediaRecorder();
}
public void startRecord(String name)
{
myAudioRecorder=new MediaRecorder();
myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); <== ** HERE ERROR **
myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
myAudioRecorder.setOutputFile(name);
}
public void stopRecord()
{
myAudioRecorder.stop();
myAudioRecorder.reset();
}}
有没有办法知道另一个应用程序是否持有麦克风?
另一件事,我加入了我最明确的许可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
我也见过这个消息android mediaRecorder.setAudioSource failed 但我继续没有解决方案......我不知道我怎么能做到。
谢谢大家。