0
我想檢查設備是否支持特定的採樣率。檢查設備支持的PCM採樣率
我試過以下(根據這應該工作http://developer.android.com/reference/android/media/AudioRecord.html#getMinBufferSize(int,INT,INT)),但不(它從來沒有得到AudioRecord.ERROR_BAD_VALUE):
int bufferSize8000 = AudioRecord.getMinBufferSize(90000000, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT);
if(bufferSize8000 != (AudioRecord.ERROR_BAD_VALUE | AudioRecord.ERROR)) {
Log.v("samplerate", String.valueOf(bufferSize8000));
} else {
Log.v("samplerate", "NOTsupported");
}
還是一樣。對於抽樣率0Hz,返回緩衝區大小爲4096. – Kristopher 2013-03-26 15:22:53
並非所有供應商在計算最小緩衝區大小時都會關心採樣率。有些具有默認緩衝區大小,它們可能會乘以您指定的通道數。例如,請參閱[此實施](https://www.codeaurora.org/gitweb/quic/la/?p=platform/hardware/qcom/audio.git;a=blob;f=alsa_sound/AudioHardwareALSA.cpp; H = b68e25b6ed3f2b830393cb0e850397e44352e9e7; HB =參/頭/ jb_rel_rb1.1#l1322) – Michael 2013-03-26 15:30:07