在没有批处理文件的Runnable Jar文件中使用JFX播放音乐

时间:2013-10-20 15:49:51

标签: java swing batch-file javafx-2

最近我一直在玩JavaFX,我遇到了一个问题。我一直在构建一个简单的应用程序,使用套接字从远程计算机在家中收听我的音乐收藏。服务器是一个控制台应用程序,客户端使用JFrame窗口并使用JavaFX播放mp3。 在我的外部计算机上使用客户端应用程序的最简单方法是创建一个Runnable Jar文件。应用程序运行正常,除了一件事:它不会播放音乐。我让它工作的唯一方法是使用一个简单的.batch文件启动它:

java -jar Test.jar
pause

我的示例应用程序的代码如下: (问题与这个简单的例子相同,所以我认为问题在于Runnable Jar文件而不是我的实际应用程序)。

import java.io.File;

import javafx.embed.swing.JFXPanel;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;


public class SimpleAudioPlayer {

public SimpleAudioPlayer(){
    //Initialize JFXPanel to initialize JavaFX toolkit (workaround)
    JFXPanel jfx = new JFXPanel();

    Media mediaFile = new Media(new File("music/Song.mp3")
        .toURI().toString());
    MediaPlayer mp = new MediaPlayer(mediaFile);
    mp.play();
}

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

}

如何通过简单执行Runnable jar文件让应用程序播放音乐?

1 个答案:

答案 0 :(得分:0)

assoc .jar=jarfile
ftype jarfile=java.exe -jar %1 %*