2015-05-18 41 views
0

我正在嘗試創建自己的iTunes版本,並且需要一些幫助。 我想創建一個音樂播放器,這是我的方法:用javafx和場景製作器創建音樂播放器

public void audioPlayerButtons(ActionEvent actionEvent) { 
    if (actionEvent.getSource() == playbtn) { 

     String bip = "/Users/april121/Work/MyMusic!/src/sample/Songs/01 Clarity.m4a"; 
     Media hit = new Media(bip); 
     MediaPlayer mediaPlayer = new MediaPlayer(hit); 
     MediaPlayer.play(); 

    } 

    else (actionEvent.getSource()== pausebtn){ 
      MediaPlayer.pause(); 
    } 

    else (actionEvent.getSource()==forwardbtn){ 
     MediaPlayer.seek(MediaPlayer.getStartTime()); 
     MediaPlayer.stop(); 
    } 

    else (actionEvent.getSource()==backwardbtn){ 
//to be finished 
    } 

但我已經嘗試了好幾個小時了 - 無論是通過從Maven的或硬編碼導入庫和它不工作。

我希望它顯示什麼玩,並具有基本功能即。播放,暫停,倒帶和前進,並有一個進度條。

這是它顯示的錯誤: 非靜態方法不能在靜態上下文中訪問。並導致錯誤的部分是「.stop()」或「.play()」位 但我不明白爲什麼 - 因爲我的方法是非靜態的反正

我真的很感激任何幫助!即使你只能指導我使用哪個庫或任何東西!我花了數小時試圖讓我的頭靠近這個,但我沒有運氣......!非常感謝。

+0

我們不能爲你做到這一點。相反,您會使用您收到的錯誤消息和產生該錯誤的代碼,然後我們可以提供幫助。請閱讀http://stackoverflow.com/help/how-to-ask。 – kebs

+0

你能幫我理解爲什麼功能像:MediaPlayer.stop()不起作用 – april21

+0

你必須更具體。當你說它不起作用時,你的意思是什麼? –

回答

4

看看這些行:

MediaPlayer mediaPlayer = new MediaPlayer(hit); 
MediaPlayer.play(); 

這第二行是調用靜態play()功能,這是行不通的。 play()函數是非靜態的。這就是爲什麼你會收到你遇到的錯誤。

你可能意味着這個:

MediaPlayer mediaPlayer = new MediaPlayer(hit); 
mediaPlayer.play(); 

如果您還有其他疑問,張貼作爲單獨的問題,並嘗試將盡可能具體。

+0

哦,我現在明白了!謝謝!! – april21

1

嘗試命名它別的東西,即。

MediaPlayer mp = new MediaPlayer (hit); 
mp.play(); 

這樣你就不會有困惑!