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");
}
동일해야합니다. sampe rate 0Hz의 경우 버퍼 크기는 4096입니다. – Kristopher
최소 버퍼 크기를 계산할 때 모든 공급 업체가 샘플 속도를 신경 쓰지는 않습니다. 일부에는 사용자가 지정한 채널 수를 곱할 수있는 기본 버퍼 크기가 있습니다. 예를 들어 [이 구현] (https://www.codeaurora.org/gitweb/quic/la/?p=platform/hardware/qcom/audio.git;a=blob;f=alsa_sound/AudioHardwareALSA.cpp; h = b68e25b6ed3f2b830393cb0e850397e44352e9e7; hb = refs/heads/jb_rel_rb1.1 # l1322) – Michael