gpt4 book ai didi

javax.sound.sampled.LineUnavailableException

转载 作者:行者123 更新时间:2023-12-02 10:54:30 25 4
gpt4 key购买 nike

我正在开发一个java项目,帮助人们了解 map 上国家的位置。

当鼠标经过一个对象时,该程序会播放 .wav 声音文件,并且在 Windows 中完美运行,但今天我尝试在 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 事件时抛出的,但这有点奇怪,因为乍一看程序没有任何问题。声音在开始时正确再现,并且在我将鼠标移到某些对象上后引发异常。

最佳答案

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

关于javax.sound.sampled.LineUnavailableException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27793227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com