2016-07-27 22 views
1

私はJavaFXにはかなり新しく、最近はWAVではなくMP3ファイルでオーディオを再生したかったのです。私が言うことから、私は正しいことをやっていて、何の誤りもありませんが、私も音が聞こえません。JavaFXオーディオが再生されていないようです

私は、以下に重要なコードの部分を掲載します。私が何かが欠けているなら、私に知らせてください。ありがとう。

try { 
    URL sound = getClass().getResource("/resources/origin.mp3"); 
    Media hit = new Media(sound.toExternalForm()); 
    musicPlayer = new MediaPlayer(hit); 
    musicPlayer.setVolume(1.0); 
} 
catch(Exception e) { 
    System.out.println("whoops: " + e); 
} 
checkMusic(); 

チェックミュージック方法:

public void checkMusic() { 
    if(music) 
     musicPlayer.setAutoPlay(true); 
    else 
     musicPlayer.stop(); 
} 

私も同様にちょうどmusicPlayer.play();を試してみました。

EDIT

そして、はい、私はifのステートメントの実行中のコードが、私はprintlnでそれをチェックして、それらがプリントアウト確信しています。 musicブール値は、プログラム/ゲーム内の設定用のコントローラに過ぎません。

+0

はcheckMusic' 'での実行は、'(真)musicPlayer.setAutoPlayをヒットした場合; 'それは問題ないはずです。コンソールに「whoops:..」がないのは確かですか? getResourceを使用するときにスラッシュ( "/")を使用すると、プロジェクトルートをベースとして使用するためです。呼び出し元のクラスとMP3リソースがディレクトリ構造にどのように配置されていますか? – DVarga

+0

'println'sでチェックしたので、最も確実に実行されます。また、.wavファイルを使用していたときに機能していたので、ディレクトリはうまくいくはずです。これはbinフォルダにあり、次にresourcesというフォルダ内にあります。そして、私が知る限りでは、すでに問題の大部分を処理していたので、コンソールには「うわさ」はありません。 (そして、私がJavaFX LOLにどのように新しいのかという理由でいくつかあったと信じている) – Ryan

+0

@DVargaああ、また何かを見つけたかもしれない。 'System.out.println(hit.getDuration();')は不明で、 'getTracks()'も不明です。何か意味がありますか? – Ryan

答えて

-1

代わり

Media hit = new Media(sound.toExternalForm()); 

のこれを試してみてください。

final Media media = new Media(sound.toString()); 
+0

試してみました。 – Ryan

関連する問題