我想录制音频使用AudioRecord
类不同的采样率和PCM编码,问题是,构建AudioRecord
对象,并实施使用AudioFormat.ENCODING_PCM_8BIT
或AudioFormat.ENCODING_PCM_FLOAT
的AudioRecorder.getMinBufferSize()
方法时,不同的错误报告如:Android Studio中支持PCM编码格式
不支持的示例编码。应该是
ENCODING_PCM_8BIT
或ENCODING_PCM_16BIT。
或
E/android.media.AudioRecord:getMinBufferSize():无效音频格式。
事情是,我正在用棒棒糖测试Moto G的第一代,所以根据Android Developer文档AudioFormat.ENCODING_PCM_FLOAT
的支持。 显然AudioRecorder.getMinBufferSize()
只适用于AudioFormat.ENCODING_PCM_16BIT
。
那么我该如何知道MinBufferSize在构造函数上实现呢?
AudioRecord构造:
audioRecorder = new AudioRecord(audioSource, sampleRate, channelConfig, audioFormat, mBufferSize);
AudioRecord方法:
mBufferSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat);
好了,所以我想没有浮动录制棒棒糖呢,怎么样?ENCODING_PCM_8BIT感谢您的快速答复 –
您可以使用这些的 - ENCODING_PCM_8BIT或ENCODING_PCM_16BIT –