Я тестирую это на Samsung Galaxy S i9000.
int sampleRate = 44100;
int bufferSize = AudioRecord.getMinBufferSize(sampleRate,
AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_8BIT);
Возвращает -2 ERROR_BAD_VALUE
.
Собственная частота дискретизации составляет 44100 Гц, как возвращается
AudioTrack.getNativeOutputSampleRate (AudioManager.STREAM_SYSTEM).
Я попытался установить sampleRate на 1000, 8000, 22100 и 44100. Я также попытался изменить AudioFormat.CHANNEL_IN_MONO
на AudioFormat.CHANNEL_CONFIGURATION_MONO
. Я также пытался STEREO
(оба IN_STEREO
и CONFIGURATION_STEREO
). Я также попробовал 16-битное кодирование вместо 8-битного.
Обновление: мой манифест имеет AUDIO_RECORD
в качестве разрешения.
Я продолжаю получать -2 в результате. Почему это происходит?