2017-03-18 114 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也說:「媒體播放器」是從來沒有使用。爲什麼是這樣?我很確定我的媒體路徑是正確的(我把它放在src旁邊的根文件中)。的JavaFX - MediaPlayer的不工作

+1

可執行代碼必須在一個方法。在嘗試使用JavaFX之類的框架之前,可能應該重新討論一些Java的基礎知識。 –

回答

1

這是一個類,您需要在應用程序的主要功能中執行mediaPlayer.play()

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

在您的應用程序的主要功能你玩這樣的:

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

它的工作謝謝你!等待澄清,我原來的代碼不起作用的原因是因爲我是在調用mediaClass方法時,它是一個類變量,而不是它是一個對象時,這是不允許的正確? –

+1

是的,因爲James_D表示可執行代碼需要在方法中。如果你想讓它在課堂上,你可以創建一個方法並放在裏面。 –