【发布时间】:2018-05-14 13:43:04
【问题描述】:
我正在尝试获取 AudioRecord 实例,但出现错误:
无法获取记录源 1 的音频输入
创建 AudioRecord 实例时出错:初始化检查失败。
初始化原生 AudioRecord 对象时出现错误代码 -20。
这是我的示例代码:
public class AudioCapturer {
AudioRecord recorder;
private int channelConfig = AudioFormat.CHANNEL_IN_STEREO;
private int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
private static final int AUDIO_SAMPLE_RATE = 8000;
private static int[] mSampleRates = new int[] { 8000, 11025, 22050, 44100 };
int bufferSize = AudioRecord.getMinBufferSize(mSampleRates[3], channelConfig, audioFormat);
protected void Start() {
new Thread(new Runnable() {
public void run() {
recorder = new AudioRecord(MediaRecorder.AudioSource.DEFAULT, mSampleRates[3], channelConfig, audioFormat, bufferSize);
Log.v("RECORDER","" +recorder.getState());
recorder.startRecording();
while(recorder.getRecordingState() == AudioRecord.RECORDSTATE_RECORDING)
{
byte [] buffer = new byte[bufferSize];
Log.v("READ RESULT","" + recorder.read(buffer, 0, buffer.length));
}
}
}).start();
}
}
我添加了权限,但结果还是一样。
我的手机API版本是18。
【问题讨论】:
-
您确定API版本和权限吗?听起来像是一个已知问题。请添加您的权限并构建 gradle 代码
-
是的,我是。我放入 AndroidManifest.xml
标签: java android android-studio android-studio-3.0 audiorecord