Как записывать звук каждую секунду, используя AudioRecord API? Возможно ли это сделать?
В моем приложении для Android я пытаюсь получать разную частоту звука каждую секунду. Можно ли записывать звук каждую секунду?
int bufferSizeInBytes = 1024;
AudioRecord audioInput = new AudioRecord(MediaRecorder.AudioSource.MIC, sampleRate, AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT, 2* bufferSizeInBytes);
buffer = new short[bufferSizeInBytes];
audioInput.startRecording();
int bufferReadResult = audioInput.read(buffer, 0, bufferSizeInBytes); // record data from mic into buffer
После этого я применяю БПФ для преобразования данных буфера в частоту, используя эту
double freq = 44100 * max_index / bufferSizeInBytes;
Я получаю частоту. Но я получаю одну и ту же частоту несколько раз в секунду