2015-08-08 4 views
1

Мне интересно, как я могу, на Java, предпочтительно использовать DataLine захват звука с микрофона и воспроизводить его непосредственно на динамиках, даже если есть некоторая задержка.Воспроизведение звука с микрофона через динамики

В принципе, я хочу, чтобы иметь возможность принимать аудио с микрофона, хранить буфер с ограниченным количеством отсчетов, иметь возможность модифицировать каждый образец в некотором роде и воспроизводить его через динамики с минимальным количеством время для каждого отсчета между записью и воспроизведением. Подобно написанию программы Java для использования моего компьютера в качестве педали эффектов; возможно ли это? (Предполагая, что я уже знаю, как изменить образцы). Чтобы быть ясным, я не хочу записывать конечное количество отсчетов с микрофона, останавливать запись, изменять, а затем воспроизводить; Я хочу, чтобы он постоянно записывался и играл.

ответ

0

Это вопрос чтения из TargetDataLine в буфер байта, а затем запись его в SourceDataLine в цикле на неопределенный срок.

Результирующая латентность будет сильно зависеть от размера используемого звукового буфера. Чем больше ваш буфер, тем больше латентность.

Взгляните на пример AudioLoop here.

 Смежные вопросы

  • Нет связанных вопросов^_^