使用 javazoom.jl.player 库解码 MP3 文件出现数组越界异常
时间: 2024-03-30 15:40:52 浏览: 24
在使用 `javazoom.jl.player` 库解码 MP3 文件时,如果出现数组越界异常,可能是因为读取的 MP3 文件数据量超出了缓冲区的容量,导致数组越界。通常可以通过增加缓冲区的容量来解决这个问题。
可以尝试将 `Bitstream` 类的构造函数中的缓冲区大小参数 `bufsize` 调大,例如将其设置为 4096 或更大,以增加缓冲区的容量:
```java
InputStream is = new FileInputStream(file);
Bitstream bs = new Bitstream(is, 4096); // 设置缓冲区大小为 4096
Decoder decoder = new Decoder();
```
另外,还可以尝试使用更高效的解码器来解码 MP3 文件,例如 `JLayer` 库或 `tritonus_mp3.jar` 库。
如果还是无法解决问题,可以通过调试程序来查找具体的错误原因,例如查看异常信息、堆栈跟踪等。