Работа с микрофоном в телефоне
День добрый. Пытаюсь сделать эквалайзер под андроид. Идея на первый взгляд показалась очень простой. Я слушаю звуки с микрофона телефона и на ходу раскладывать по частотам. Но почему то поиск по ключевым словам выдает только запись аудио а не работу в реальном времени. Подскажите пожалуйста, это вообще возможно реализовать, и если да, то как?
Ответы (1 шт):
Автор решения: Barmaley Red Star
→ Ссылка
Весь цимес в классе AudioRecord
Примерно так:
AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
8192, //частота сэмплинга
AudioFormat.CHANNEL_IN_MONO, //количество каналов
AudioFormat.ENCODING_PCM_16BIT, //формат PCM
2048);
recorder.startRecording();
boolean isRecording = true;
Thread recordingThread = new Thread(new Runnable() {
public void run() {
while (isRecording) {
// читаем байты с микрофона в буфер
recorder.read(buffer, 0, 1024); //читаем кусками по 1024
//дальше что-то с этим делаем (видимо раскладываем на частоты)
}
}
} }
}, "AudioRecorder Thread");
recordingThread.start()