Синхронизируйте 2 одинаковых аудиовхода (один по файлу и один по микрофону) - PullRequest
8 голосов
/ 23 мая 2011

У меня есть 2 аудиовхода концерта. Первый - это файл WAV, а второй - микрофон в режиме реального времени. Мне нужно воспроизвести первый файл синхронно с микрофонным входом.

Какую библиотеку я могу использовать?

Есть ли учебник, руководство или пример для этого?

спасибо

1 Ответ

4 голосов
/ 01 июня 2011

Взгляните сюда

Это вся документация звука API

http://download.oracle.com/javase/1.5.0/docs/guide/sound/programmer_guide/

Также

  • Глава 4: Синхронизация воспроизведения на нескольких линиях
  • Глава 6: Обработка аудио с элементами управления

НО

Вот что я нашел в jsresourcefaq

Как синхронизировать две или более строки воспроизведения?

Функции синхронизации в микшере не реализованы.Тем не менее, воспроизведение обычно синхронизируется

Как синхронизировать воспроизведение (SourceDataLines) с записью (TargetDataLines)?

Как и в случае нескольких строк воспроизведения из одного и того же объекта Mixer,линии воспроизведения и записи из одного и того же объекта Mixer остаются синхронизированными после их запуска.На практике это означает, что вы можете добиться синхронизации таким простым способом только с помощью микшеров "Direct Audio Device".Поскольку «Java Sound Audio Engine» предоставляет только строки воспроизведения, но не строки записи, синхронизация воспроизведения / записи не так проста с «Java Sound Audio Engine».

Если строки воспроизведения и записи происходят из другого микшераобъекты, вам нужно синхронизировать звуковые карты, которые представлены объектами Mixer.Таким образом, ситуация похожа на внешнюю синхронизацию.

И

Основная проблема заключается в буферизации и обработке микрофонных звуковых хитов и синхронизации в реальном времени, практическим способом является использование внешних часов

И здесь - это куча звуковых ресурсов Java, я думаю, что вы должны взглянуть на раздел мониторинга звука в документации API и попытаться вызвать временную задержку на основе попаданий и выходов монитора, это тоже немного сложно.заинтересованный в этом вопросе, я постараюсь выяснить, если я сделал, я дам вам знать

Посмотрите на эти ссылки , и это будет легко, как я нашел и прочитал описание этогобиблиотеки обработки

...