Я пытаюсь читать исходные данные из микрофона с помощью следующего кода:AudioRecord чтения() возвращает странные значения
short buffer[] = new short[AudioRecord.getMinBufferSize(8000,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT)];
Log.d("O_o",""+buffer.length);
AudioRecord rec = new AudioRecord(
MediaRecorder.AudioSource.MIC, 8000,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT, buffer.length);
rec.startRecording();
int read = rec.read(buffer, 0, buffer.length);
for (int i = 0; i < read; i++) {
Log.d("O_o",i+" "+buffer[i]);
}
rec.stop();
rec.release();
Но буфера всегда заполнен 257 значений. Что случилось?
UDP: посмотреть как начальные значения i'ts. Вызов read() в цикле вызывает нормальные значения.
Вы тестируете эмулятор? –
Нет, на реальном устройстве. – styanton
Lol .. приятный отладочный тег :) – JoxTraex