首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javax.sound.sampled.LineUnavailableException

javax.sound.sampled.LineUnavailableException
EN

Stack Overflow用户
提问于 2015-01-06 06:25:33
回答 1查看 2.4K关注 0票数 3

我正在从事一个java项目,帮助人们了解地图中国家的位置。

当鼠标经过一个对象并在Windows中完美运行时,程序会播放一个.wav声音文件,但是今天我尝试在Ubuntu中这样做,程序抛出下一个异常:

javax.sound.sampled.LineUnavailableException:线格式为PCM_SIGNED 44100.0 Hz,16位,立体声,4字节/帧,不支持小终端。

这就是播放声音的方法。

代码语言:javascript
复制
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被触发时抛出的,但是这有点奇怪,因为程序乍一看没有任何问题。声音在开始时正确再现,异常在我将鼠标传递到某些对象后抛出。

EN

回答 1

Stack Overflow用户

发布于 2015-01-06 21:21:22

为什么不尝试获取文件并获取其绝对路径,然后将返回值存储为path变量。然后,使用路径获取您的音频输入流。但是,如果您处理应用程序中文件格式的转换,那么抛出的异常可能根本不属于这个代码段。我建议(如果您做了额外的处理),在使用可用行之前检查是否支持行。这样,您就可以避免这样的错误。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27793227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档