Я тестирую это на 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_CON]. Я также пробовал
STEREO
(оба IN_STEREO
и CONFIGURATION_STEREO
). Я также пробовал 16-битную кодировку вместо 8-битной.
Обновление: в моем манифесте разрешено AUDIO_RECORD
.
В результате я получаю -2. Почему это происходит?