尝试读取mp3文件javaZoom时出现无效标记错误

时间:2019-03-31 16:02:01

标签: java ffmpeg mp3 javasound

我正在尝试通过以下方式加载使用ffmpeg修改过的mp3: "ffmpeg -i inputfile.mp3 -y -ar 48000 converted.mp3 ,但是当我尝试使用javaZoom读取文件时,出现此错误

java.io.IOException: Resetting to invalid mark
    at java.base/java.io.BufferedInputStream.reset(BufferedInputStream.java:454)
    at org.tritonus.share.sampled.file.TAudioFileReader.getAudioInputStream(TAudioFileReader.java:330)
    at javazoom.spi.mpeg.sampled.file.MpegAudioFileReader.getAudioInputStream(Unknown Source)
    at javazoom.spi.mpeg.sampled.file.MpegAudioFileReader.getAudioInputStream(Unknown Source)
    at java.desktop/javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1060)
    at VoiceBot.queueAudio(VoiceBot.java:123)
    at VoiceBot.onMessageReceived(VoiceBot.java:104)

正常的未修改文件不会发生此问题,某些修改后的文件甚至不会发生。因此,我认为可能与文件大小有关。因为我将文件的采样率从44.1 kHz更改为48 kHz,这正在扩大文件的大小。

以前在此线程中发现过此问题:Error while playing some MP3s using JavaZOOM BasicPlayer classes

但是,解决此问题的方法是mp3spi1.9.5。问题是,这是我正在使用的版本,但仍然有问题。我也在使用jl1.0.1和tritonous0.3.6。

JLayer是否有问题?我应该转移到其他mp3阅读库中,还是容易解决的问题?

编辑:所以我设法通过降低转换后的mp3文件的比特率来解决此问题。我非常希望不必执行此操作,而实际上具有完整的质量。但是希望这对任何想要帮助的人都有帮助。

0 个答案:

没有答案