2017-03-18 14 views
0
package main; 

import javafx.fxml.FXML; 
import javafx.fxml.FXMLLoader; 
import javafx.scene.Parent; 
import javafx.scene.control.Button; 
import javafx.event.ActionEvent; 
import javafx.scene.media.Media; 
import javafx.scene.media.MediaPlayer; 
import java.io.File; 
import javafx.scene.media.AudioClip; 


public class Controller { 
Media sound = new Media("mouseHover.mp3"); 
MediaPlayer mediaPlayer = new MediaPlayer(sound); 
mediaPlayer.play(); 
} 

私はサウンドファイルを再生しようとしていますが、私が得ているエラーは "シンボル再生を解決できません"と私のIDEは "mediaPlayer"も決して使用されないと言います。どうしてこれなの?私はメディアへのパスが正しいことを確信しています(srcの隣のルートファイルに入れます)。JavaFX - MediaPlayerが動作しない

+1

実行可能コードはメソッドでなければなりません:あなたはこのようにそれを再生するアプリのメイン機能で

public class Controller { Media sound = new Media("mouseHover.mp3"); MediaPlayer mediaPlayer = new MediaPlayer(sound); //Empty constructor public Controller() { } } 

。おそらく、JavaFXのようなフレームワークを使う前に、Javaのいくつかの基本を再考するべきでしょう。 –

答えて

1

これはクラスです。アプリの主な機能でmediaPlayer.play()を実行する必要があります。

public static void main(String [] args) 
{ 
     Controller ct = new Controller(); 
     ct.mediaPlayer.play(); 
} 
+1

ありがとうございました!明確にするのを待って、私の元のコードが動作しなかったのは、クラス変数だったときにmediaClassメソッドを呼び出していたからです。 –

+1

はい、James_Dは実行可能コードがメソッド内にある必要があると述べています。あなたがそれをクラスに入れたいのであれば、メソッドを作成して内部に置くことができます。 –

関連する問題