我正在尝试使用
Android的录音和播放功能.有没有办法枚举我的设备上可用的音频参数?
现在,当我传递硬件(或仿真器)不喜欢的参数组合时,我只是得到一个错误.所以我不得不“猜测”:
int bufferSize; int sampleRate; // does the audio hardware do 44 kHz? sampleRate = 44100; bufferSize = AudioRecord.getMinBufferSize(sampleRate,AudioFormat.CHANNEL_CONfigURATION_MONO,AudioFormat.ENCODING_PCM_16BIT); if (bufferSize != AudioTrack.ERROR_BAD_VALUE) { // nope,how about 22 kHz? sampleRate = 22050; } bufferSize = AudioRecord.getMinBufferSize(sampleRate,AudioFormat.ENCODING_PCM_16BIT); if (bufferSize != AudioTrack.ERROR_BAD_VALUE) { ...
当然有更好的方法!
This chart表示唯一支持的音频输入采样率是8 kHz?那是对的吗?
解决方法
你有没看过
AudioTrack.getNativeOutputSampleRate(int streamType)?