用Java8SDK播放声音

用Java8SDK播放声音,java,audio,javafx,java-8,beep,Java,Audio,Javafx,Java 8,Beep,我尝试播放嘟嘟声,我使用Toolkit.getDefaultToolkit().beep(),它适用于Java7 import java.awt.Toolkit; public class testbeep { public static void main(String[] args) { Toolkit.getDefaultToolkit().beep(); } } 然而,我需要使用JavaFX,JavaFX在Java8上工作。有人能帮我配置我的

我尝试播放嘟嘟声,我使用Toolkit.getDefaultToolkit().beep(),它适用于Java7

import java.awt.Toolkit;

public class testbeep {

    public static void main(String[] args) {

        Toolkit.getDefaultToolkit().beep();
      }

}
然而,我需要使用JavaFX,JavaFX在Java8上工作。有人能帮我配置我的项目吗? 我在eclipse上工作,当我使用Java8时,嘟嘟声工作,但JavaFX不工作,当我使用Java7时,嘟嘟声不工作,JavaFX不工作。
我注意到icetea-sound.jar存在于Java 7上,而不存在于Java 8上,我能在某处找到它吗

混合AWT和JavaFX可能有点棘手;但是,这对我来说似乎很好(Java 1.8.0_20;Mac OS X 10.9.5):


我不知道从AWT事件处理线程以外的线程调用
toolkit.beep()
是否可以(在这里,我就是这么做的)

在编写JavaFX应用程序时,可能应该使用内置的JavaFXAPI,而不是基于AWT的API

AudioClip plonkSound = new AudioClip("http://somehost/path/plonk.mp3");
plonkSound.play();
有关支持的音频格式的说明,请参阅

确保您的系统符合要求

对于ubuntu,要使用JavaFX,您需要使用OracleJDK或Emmanuel在中发布的。Debian OpenJFX软件包非常新,因此在这个阶段,如果可以的话,我建议您坚持使用Oracle Java运行时



关于您关于icedtea声音出现在Java 7中而不是Java 8中的评论,可能是因为您的openjdk中的Java 7和Java 8是Oracle jdk,而Oracle jdk可能没有附带icedtea声音(我没有检查,也不知道)。如果愿意,您可以尝试openjdk 8+debian openjfx包,也许其中包括icedtea声音库。纯JavaFX媒体播放肯定不需要icedtea声音,但可能需要使用awt beep命令。无论如何,我可能仍然建议使用JavaFX媒体库而不是混合在AWT库中使用JavaFX唯一的解决方案

我在Ubuntu 14.04.1 LTS上
AudioClip plonkSound = new AudioClip("http://somehost/path/plonk.mp3");
plonkSound.play();