簡體   English   中英

JavaFx音頻文件無法播放

[英]JavaFx audio file not playing

我有以下代碼。 沒有聲音播放我不知道我做錯了什么。 我在指定的目錄中有一個名為“Test”的文件。 它是.mp3格式。

@Override
public void start(Stage stage) throws Exception
{
    Media sound = new Media("file:///C:/Users/name/Music/HQ/Test.mp3");
    MediaPlayer mediaPlayer = new MediaPlayer(sound);
    mediaPlayer.setAutoPlay(true);

    VBox root = new VBox();
    root.getChildren().addAll();

    Scene scene = new Scene(root, 500, 500);
    stage.setScene(scene);
    stage.show();

}

public static void main(String[] args)
{
    launch(args);
}

你必須調用mediaPlayer.play(); 某處。 setAutoPlay()僅設置autoPlay屬性。

1)如果它在你的項目中的[ resources/music/test.mp3 ]中的.mp3文件:

Media media = null;
try {
  media = new Media(getClass().getResource("/music/Test.mp3").toURI().toString());
} catch (URISyntaxException e) {
  e.printStackTrace();
} 

2)如果它在項目之外,例如在file:///C:/Users/name/Music/HQ/Test.mp3

 Media media = null;
 try {
   media = new Media("file:C:/Users/name/Music/HQ/Test.mp3");
 } catch (URISyntaxException e) {
   e.printStackTrace();
 } 

另請看這個問題: 使用javafx獲取mp3文件

在這里它如何下載Image它會幫助你。

我有同樣的問題。 我想在我的游戲菜單屏幕上播放4分鍾的mp3曲目。 我已經從mp3轉換為wav。 依然沒有。 然后我嘗試了較短的聲音(1秒鑼聲)......它奏效了! 然而聲音就像在中間切割。 嗯,這讓我很懷疑,所以我決定在一個線程中運行它並且它有效! 然后我又切換回原聲,現在播放得很好。

現在我不明白兩件事:

  • 為什么在Thread內部運行有幫助
  • 為什么.wav工作和.mp3沒有

它現在不多,但也許它會幫助別人:)我會在發現后立即更新我的答案!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM