2016-12-10 10 views
0

JavaFXを使用してゲームを作成しようとしています。私はいくつかのバックグラウンドミュージックをゲームに挿入しようとしていました。音楽は.mp3ファイルと互換性があります。私は現在を再生するのにMediaPlayerを使用しています。各メディアファイルは、実際のループと、ループへの小さな(オプションの)イントロ音楽で構成されています。 JavaFXを使用してスムーズなオーディオ再生を実現する方法私が試してみましたJavaFX MediaPlayerで小さなイントロミュージックのバックグラウンドミュージックループを再生

方法:

  • Media 1としてファイルを使用します。 mediaPlayer.startTimemediaPlayer.stopTimeを変更しようとしています。私がループに入ると、音楽の時間が短くなっているようです。しかし、音楽はイントロで再開し、間違った場所で終了する。それはまるでstartTimeが音楽を全く相殺しなかったかのようでした。

  • Mediaを2つの別々のファイル(イントロとループ)として使用します。私は、イントロ音楽が終了するとすぐに(mediaPlayer.setOnEndOfMedia()を使用して)ループ音楽をすぐに再生しようとします。しかし、移行は遅すぎて目立つものでした。

+0

"onEndOfMediaProperty()"というイベントを使用しないのはなぜですか?曲が最後にヒットすると、通知が表示され、次の曲を開始できます。 – keil

+0

遅すぎました。スキップは非常に聞こえました。メディア自体に問題はなかったと私は確認した。 – krismath

答えて

0

他のよく知られたゲームエンジン(例えば、ユニティ)の経験の後、私は.mp3フォーマットとは対照的に、ファイルは.wav形式でなければならないことが分かりました。これにより、音楽をシームレスにループさせることができます。

関連する問題