我有以下代码导致init失败:
recorder = new AudioRecord(AudioSource.MIC, mSamplingRate, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, iN);
recorder.startRecording();
我的活动调用了它:
new AsyncTask<Void, Void, Void>(){
@Override
protected Void doInBackground(Void... none) {
record();
return null;
}
}.execute();
它给出了以下例外:
E / AudioRecord:AudioFlinger无法创建记录轨道,状态:-1 E / AudioRecord-JNI:创建AudioRecord实例时出错:初始化检查失败,状态为-1。 E / android.media.AudioRecord:初始化本机AudioRecord对象时出现错误代码-20。 E / AudioRecord:AudioFlinger无法创建记录轨道,状态:-1 E / AudioRecord-JNI:创建AudioRecord实例时出错:初始化检查失败,状态为-1。 E / android.media.AudioRecord:初始化本机AudioRecord对象时的错误代码-20。
可能出了什么问题,好吗? 我相信这不是录音机的问题,而是异步任务/多线程。因为它之前我有一个包含onCreateView的片段就像魅力一样,我把AsyncTask调用放在onClick的按钮上。 现在我在我的活动的OnCreate()中初始化UI,我没有片段或onCreateView,我以为我已经使用了异步线程但仍然......
答案 0 :(得分:0)
已解决 - 在更改清单中的权限后从Android Studio中删除apk实际上并未更改应用设置中的权限。 我必须手动打开设置 - &gt;&gt;应用 - &gt;权限 - &gt;滑动“麦克风即将开启。