audioInputStream = AudioSystem.getAudioInputStream(soundFile); // 从文件中获取数据流
AudioFormat format = audioInputStream.getFormat(); // 获取文件格式
读取音频文件获得音频流的时候会有一个下面的异常
![]()
翻译出来就是无法从文件获得文件输入流。
那这个是为什么呢?
我们从相关文档中找到这个方法。

这个UnsupportedAudioFileException这个异常就是我们报的这个异常。
显示未指向系统可以识别的有效音频文件,也就是我们的文件系统没有办法识别,我们继续
往下找真正原因。

也就是说我们所用的音频文件格式不支持,下面是我使用的音频文件格式:
static final String BACKGROUND = "background.wav";
但是查询支持的音频格式发现是支持wav格式的文件的,那为什么导致还会报这个异常呢。

解决办法:
后面我用Au重新格式化了一下这个wav文件之后发现就可以使用了。
![]()
我经过思考应该是自己乱改文件的后缀名导致的原因,之前这个文件是MP3的格式,我直接修改文件后缀将其改成wav格式,导致文件内部的格式发生错误。
所以这里我劝大家不要随意修改文件的后缀。
文章讲述了在尝试从文件获取音频流时遇到UnsupportedAudioFileException异常,原因在于使用的音频文件(如背景.wav,原为MP3格式却被改为wav)格式不被系统支持。解决方法是确保文件格式正确,不要随意修改文件后缀。



7267

被折叠的 条评论
为什么被折叠?



