android4.2.2系统
代码如下:
private boolean initAudioOutput(int sampleRate) {
int CHANNEL_CONFIG = AudioFormat.CHANNEL_IN_MONO;
int AUDIO_FORMAT = AudioFormat.ENCODING_PCM_16BIT;
int bufferSize = AudioRecord.getMinBufferSize(sampleRate,
CHANNEL_CONFIG, AUDIO_FORMAT);
if (bufferSize > 0) {
try {
AudioRecord audioRecord = new AudioRecord(
MediaRecorder.AudioSource.MIC, sampleRate,
CHANNEL_CONFIG, AUDIO_FORMAT, bufferSize);
return true;
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
只有sampleRate=8000时能初始化成功,sampleRate=11025,16000,22050,44100时初始化失败,错误信息如下:
05-07 10:52:09.397: E/AudioRecord(7916): Could not get audio input for record source 1
05-07 10:52:09.397: E/AudioRecord-JNI(7916): Error creating AudioRecord instance: initialization check failed.
05-07 10:52:09.397: E/AudioRecord-Java(7916): [ android.media.AudioRecord ] Error code -20 when initializing native AudioRecord object.
不知什么原因?电话咨询技术人员说最大支持44100的采样率,为什么我的不行呢?