我为 android 开发了一个游戏,它使用 Audio Record 来获取麦克风输入。
你可以看看https://play.google.com/store/apps/details?id=fixappmedia.micro
问题是我正在使用以下函数来获取手机上可用的采样率:
public int getValidSampleRates() {
int r=8000;
for (int rate : new int[] {8000,11025,16000,22050,44100}) { // add the rates you wish to check against
int bufferSize = AudioRecord.getMinBufferSize(rate, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);
if (bufferSize > 0) {
r= rate;
}
}
return r;
}
我最初在我的手机(Samsung Galaxy Vibrant)上对其进行了测试,效果很好……但今天我在三星 Galaxy Ace 上对其进行了测试,但采样率不起作用……
关于为什么的任何想法?