Связанный учебник работал для меня. В нем звук записывается и сохраняется в формате .wav.
Ключом к получению этого потока на динамик будет открытие SourceDataLine
и его вывод вместо записи в файл wav. Таким образом, вместо вывода в строке 59 до AudioSystem.write
выведите метод записи SourceDataLine
.
IDK, если возникнет проблема обратной связи. Вероятно, это хорошо для вывода на наушники, а не на динамики!
Чтобы добавить эффект, AudioInputLine
должен быть доступен и обработан в сегментах. В каждом сегменте должно произойти следующее:
- получить массив байтов из
AudioInputLine
- , преобразовать аудиобайты в PCM
- , применить свой аудиоэффект к PCM (если эффект представляет собой изменение громкости с течением времени, это можно сделать путем постепенного изменения коэффициента громкости от 0 до 1, умножения коэффициента на PCM)
- преобразовать обратно в аудиобайты
- запись в
SourceDataLine
Все эти шаги были рассмотрены в публикациях StackOverflow.
Учебное пособие по ссылкам упрощает расположение файлов, потоки, а также остановку и запуск обрабатываются. Но самое главное, он показывает работающую прямую звуковую линию от микрофона.