1

我在为 Java 中的 .mp3 文件创建可视化工具时遇到了问题。我的目标是创建一个与正在播放的 .mp3 文件同步运行的可视化。

我目前可以可视化 .mp3 或播放它,但不能同时播放。我正在使用库,这可能会使这比必要的更棘手。

我现在:

  1. 将 .mp3 作为 FileInputStream 读入。
  2. a) 将 FileInputStream 转换为 Bitstream 并运行 Visualizer 或 b) 将 FileInputStream 传递给库 Play 方法,将其转换为 Bitstream、解码并播放。

我正在使用 JLayer 库来播放和解码 .mp3。

我的问题是:我如何同步这两个动作,以便我可以同时运行它们并且它们排列在一起(所以我的可视化对应于不断变化的频率)。这意味着它们也同时完成。

4

2 回答 2

0

我会尝试在一个线程中设置每个部分,然后同步计时元素,以便它们同时开始。

于 2011-01-16T21:20:48.270 回答
0

我目前正在做同样的事情,我找到了解决方案。

问题:不允许并行访问的同步方法和属性。

解决方案:一个线程组中的两个线程并在该线程组上同步。

or* : 缓存线程池,用于在缓存池上运行和同步。那么您的流阅读器是一个可运行的,而您的可视化是第二个可运行的。

工作得很好。

于 2013-07-06T08:52:38.130 回答