我正在从事一个java项目,帮助人们了解地图中国家的位置。
当鼠标经过一个对象并在Windows中完美运行时,程序会播放一个.wav声音文件,但是今天我尝试在Ubuntu中这样做,程序抛出下一个异常:
javax.sound.sampled.LineUnavailableException:线格式为PCM_SIGNED 44100.0 Hz,16位,立体声,4字节/帧,不支持小终端。。
这就是播放声音的方法。
public void playSound(String audioName){
String path="src/audio/"+audioName+".wav";
try{
Clip sound=AudioSystem.getClip();
sound.open(AudioSystem.getAudioInputStream(new File(path)));
sound.start();
} catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
}有人能告诉我如何解决这个问题吗?
我一直在寻找,但我没有找到一个明确的答案,帮助我。
我觉得有些重要的事情我没有具体说明.
我前面提到的异常是在事件mouseEntered被触发时抛出的,但是这有点奇怪,因为程序乍一看没有任何问题。声音在开始时正确再现,异常在我将鼠标传递到某些对象后抛出。
发布于 2015-01-06 21:21:22
为什么不尝试获取文件并获取其绝对路径,然后将返回值存储为path变量。然后,使用路径获取您的音频输入流。但是,如果您处理应用程序中文件格式的转换,那么抛出的异常可能根本不属于这个代码段。我建议(如果您做了额外的处理),在使用可用行之前检查是否支持行。这样,您就可以避免这样的错误。
https://stackoverflow.com/questions/27793227
复制相似问题