0

小さなゲームを作る JavaFX を試しています。

音を追加したい。どのように?

次のような相対属性MediaPlayerで定義してみました:mediasource

attribute media = Media{
    source: "{__FILE__}/sound/hormpipe.mp3"        
}
attribute player = MediaPlayer{
    autoPlay:true
    media:media
}

再生されません。私は得る

FX Media Object caught Exception com.sun.media.jmc.MediaUnavailableException: Media unavailable: file: ... Sound.class/sound/hormpipe.mp3

4

6 に答える 6

1

var player = javafx.scene.media.MediaPlayer {repeatCount:javafx.scene.media.MediaPlayer.REPEAT_FOREVER media:Media {source: "{__DIR__} clip.wav"}; }; player.play();

Netbeansがオーディオファイルをjarファイルにパックできるように、ビルド/コンパイル済みディレクトリにオーディオファイルを含める必要があります。

于 2008-12-15T12:44:07.540 に答える
1

推測ですが、そのファイルは「hornpipe.mp3」であり、「hormpipe.mp3」(m 付き) ではありませんか?

于 2008-10-29T17:04:51.330 に答える
0

これは私のために働いた:

MediaPlayer audio = new MediaPlayer(
    new Media(
        new File("file.mp3").toURI().toString()));

ソース ファイルはプロジェクトのルート ディレクトリにある必要があります (src や dist ではありません)。

于 2014-01-02T19:32:20.847 に答える
0

また{__DIR__}、末尾に / が含まれていることに注意してください。代わりに、次のようにしてください。

attribute media = Media{
source: "{__DIR__}sound/hormpipe.mp3"}

編集:私はいくつかの掘り下げを行いました.メディアファイルはJARで許可されていないため、MediaオブジェクトのソースはリモートURLまたは絶対ファイルパスのいずれかでなければなりません(将来のリリースで変更されることを願っています.私は JavaFX がとても好きで、それを使ってデスクトップ アプリを作成できるようになりたいと思っています)。参照: JavaFX FAQ

于 2010-06-19T15:34:50.860 に答える
0

{__FILE__}推測ですが、ファイルの名前に展開されると思います。に置き換えてみてください{__DIR__}

于 2010-06-02T11:28:08.577 に答える