好的,使用这个问题让 MP3 音频正常工作(有点),我学到了以下内容(不多)。
1) 压缩格式的音频非常依赖于平台。我不断升级的 Mint 17.1->18 机器使用 Media 和 MediaPlayer 可以很好地播放 mp3。Mint 18 的全新安装不会(使用开发工具)。
所以使用 .wav 文件。
Media sound=new Media(new File("noises/roll.wav").toURI().toString());
MediaPlayer mediaPlayer=new MediaPlayer(sound);
mediaPlayer.play();
2) 使用 Media/MediaPlayer 需要注意的一件事是,为了多次播放(重复或一次全部播放,即按下按钮/游戏中的任何内容),您必须生成 N 个 MediaPlayer对象,每个对象将播放一次然后停止。
所以使用 javafx.scene.media.AudioClip
AudioClip soundMyNoise = new AudioClip(new File("noises/roll.wav").toURI().toString());
soundMyNoise.play();
AudioClip 也有它的问题,其中包括将原始音频数据一次性存储在 RAM 中,而不是缓冲。因此存在内存使用过多的可能性。
无论您最终采用哪种方法,daevon早些时候提到了一件需要严格注意的事情 - 路径问题。使用 NetBeans,您拥有 NetBeansProjects/yourproject/src/yourproject/foo.java。上例中的声音位于 NetBeansProjects/yourproject/noises/roll.wav