2012-01-25 1 views
0

Javaサウンドでthisの参照を見て、クリップを再生しました。複数のクリップインスタンスを再生する方法は?

URL url = new URL("http://www.chiptape.com/chiptape/sounds/medium/Taito_Carousel.wav"); 
AudioInputStream ais = AudioSystem.getAudioInputStream(url); 
clip = AudioSystem.getClip(); 

clip.open(ais); 
clip.loop(0); //This lets the clip play fully before closing immediately 

私は一度これを再生すると、それだけで正常に動作しますが、私はclip.open(ais)で再び同じクリップを再生したいとき、それは再生できません。何か案は?

+0

理解しにくい[2)投稿SSCCE](http://stackoverflow.com/a/8997483/418556)の部分がありましたか? 2人中1人が悪くない、それは悲惨です(IMO)。 *** SSCCE ***を投稿すると、問題をより詳しく調べます。 BTW - これをコマンドライン(ボタンなし)から再作成できれば、ボタンやGUIとは関係がないことを示します。もしそうであれば、ポストのタイトルだけでなく、ボタンに言及するのはあまり意味がありません。私は "複数のクリップインスタンスを再生する方法"と思います。ポストにとってはるかに良いタイトルになるだろう。同意する場合は編集してください。 –

+0

BTW - [tag:javasound]は、このタイプの質問に追加するのに適したタグです。あなたが[JavaSound info]に提供したリンクから推測してもらいたいと思っていました。ページ](http://stackoverflow.com/tags/javasound/info)にあなたの*最後の*質問に追加したものです。 –

答えて

0

javax.sound.sampled.Clipが最も簡単です。

しかし、これtutorialは良いスタートです:

あなたが再生を開始する準備ができたら、単純にstartメソッドを呼び出します。クリップを停止または一時停止するには、stopメソッドを呼び出し、再生を再開するには、startを再度呼び出します。クリップは再生を停止したメディアの位置を記憶しているため、明示的に一時停止と再開のメソッドは必要ありません。中断した位置から再開したくない場合は、上記のフレームまたはマイクロ秒の位置決め方法を使用して、クリップを先頭(またはその位置の他の位置)に「巻き戻す」ことができます。

Andrewが言うように、コードの例を投稿すると、人々が質問に答えるのに役立ちます。しかし、私はあなたにも背景情報が必要なだけだと推測しています。そのため、上記のリンクを提供しています - Java Soundを扱うのは誰でも知っておくべきです。

幸運を祈る!

関連する問題