我使用以下步骤使用在以下位置找到的音频文件制作JAR文件:http://www.orangefreesounds.com/loud-alarm-clock-sound/
src/sound-effects
文件夹中。 Sandbox
的类Project Explorer
窗口中(可能在屏幕的左侧),右键单击您的项目,然后单击Export ...
作为JAR file
java -jar
在Windows或Linux系统的终端中运行它。 文件结构应如下所示:
我的计算机上安装了
x64 Windows 8.1
和x64 Ubuntu 14.04
。我的问题是:为什么此JAR程序可以在Windows中运行,而不能在Ubuntu中运行? import java.io.IOException;
import java.net.URL;
import javax.sound.sampled.*;
public class Sandbox
{
public static void main(String[] args)
throws UnsupportedAudioFileException, IOException,
LineUnavailableException
{
URL url = Sandbox.class
.getResource("/sound-effects/Loud-alarm-clock-sound.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
AudioFormat af = ais.getFormat();
DataLine.Info info = new DataLine.Info(Clip.class, af);
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(ais);
clip.start();
System.out.println("Drain...");
clip.drain();
System.out.println("...Drained");
}
}
最佳答案
这里的问题是我在Ubuntu系统上安装了OpenJDK 1.7
(或IcedTea
),在我的Windows系统上安装了Oracle JDK 1.8
。如您所知,OpenJDK
只是Oracle JVM和编译器的开源版本。可悲的是,这意味着它存在一些兼容性问题,例如无法播放某些音频文件。
我只是按照以下说明卸载了OpenJDK 1.7
:
https://askubuntu.com/questions/335457/how-to-uninstall-openjdk
然后,我使用此链接安装了Oracle JDK 1.8
:
http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
现在,我的音频文件可以在Ubuntu和Windows上正常播放了。
关于java - 为什么此音频文件可在Windows中工作,而在Ubuntu中却不能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29887506/