2011-01-01 9 views
1

Javaで.mp3ファイル用のビジュアライザを作成する際に問題が発生しました。私の目標は、再生されている.mp3ファイルと時間内に実行される視覚化を作成することです。Java Visualizerのオーディオとビジュアルの同期

私は現在、.mp3またはそれを再生することはできますが、同時に再生することはできません。私はこれを必要以上に扱いにくくするライブラリを使用しています。 FileInputStreamのよう.MP3で

  1. 読む:

    現在、I。

  2. a)FileInputStreamをビットストリームに変換し、Visualizerを実行する。 b)FileInputStreamをライブラリのPlayメソッドに渡し、そこでビットストリーム に変換し、デコードして再生する。

私はJLayerライブラリを使用して.mp3を再生およびデコードしています。

質問:2つのアクションを同期させて、同時に実行することができます(どのように私の視覚化が周波数の変化に対応しているか)。これは同時に彼らが終わることを意味します。

+0

私はJLayerライブラリを使ったことがありません。 OTOH私は音のためのいくつかの視覚化を開発しました。あなたが直面するかもしれない1つの問題は、ビジュアルの各部分に使用されるサンプルサイズです。視覚的に表示されたものが、サンプルの開始、終了、またはその間の時間であるかどうかを選択する必要があります。これは、サンプルサイズが増えるほどはるかに目立つ。 –

答えて

0

スレッドで各パートを設定してからタイミング要素を同期させて、同時に開始します。

0

私は現在同じことに取り組んでおり、解決策を見出しました。

問題:パラレルアクセスを許可しない同期メソッドと属性。

解決策:1つのスレッドグループに2つのスレッドがあり、そのスレッドグループで同期しています。

または*:キャッシュされたプール上の実行可能ファイルと同期のためのキャッシュされたスレッドプール。ストリームリーダーは1つの実行可能ファイルで、視覚化は2番目の実行可能ファイルです。

うまく動作します。

関連する問題