Как записывать звук каждую секунду, используя 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;

Я получаю частоту. Но я получаю одну и ту же частоту несколько раз в секунду

0 ответов

Другие вопросы по тегам