Работа с микрофоном в телефоне

День добрый. Пытаюсь сделать эквалайзер под андроид. Идея на первый взгляд показалась очень простой. Я слушаю звуки с микрофона телефона и на ходу раскладывать по частотам. Но почему то поиск по ключевым словам выдает только запись аудио а не работу в реальном времени. Подскажите пожалуйста, это вообще возможно реализовать, и если да, то как?


Ответы (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()
→ Ссылка