Синхронизация Java Visualizer Audio и Visual

Я столкнулся с проблемой создания визуализатора для файлов.mp3 в Java. Моя цель состоит в том, чтобы создать визуализацию, которая запускается во времени с воспроизводимым файлом.mp3.

В настоящее время я могу визуализировать.mp3 ИЛИ воспроизвести его, но не оба одновременно. Я использую библиотеки, которые могут сделать это сложнее, чем необходимо.

Я сейчас:

  1. Читайте в.mp3 как FileInputStream.
  2. a) Преобразуйте FileInputStream в битовый поток и запустите визуализатор ИЛИ b) Передайте FileInputStream в метод Play библиотеки, где он преобразует его в битовый поток, декодирует его и воспроизводит.

Я использую библиотеку JLayer для воспроизведения и декодирования.mp3.

У меня вопрос: как мне синхронизировать два действия, чтобы я мог выполнять оба действия одновременно и они выстраивались в линию (чтобы мои визуализации соответствовали изменяющимся частотам). Это подразумевает, что они заканчивают одновременно.

2 ответа

Я бы попытался настроить каждую часть в потоке, а затем синхронизировать элементы синхронизации, чтобы они запускались одновременно.

В настоящее время я работаю над тем же, и я нашел решение.

Проблема: синхронизированные методы и атрибуты, которые не разрешают доступ paraell.

Решение: два потока в одной группе потоков и синхронизация по этой группе потоков.

или *: пул кэшированных потоков для запуска и синхронизации в этом пуле. тогда ваш потоковый ридер работает один, а ваша визуализация - второй.

Работает просто отлично.

Другие вопросы по тегам