【发布时间】:2013-02-24 16:49:09
【问题描述】:
我正在尝试使用Java ID3 Tag Library 操作 MP3 文件中的 ID3 标签。但是,当我尝试使用“MP3File”类做任何事情时,我得到 IOException: Negative Seek Offset;
这是一个示例代码和堆栈跟踪:
package com.test;
import java.io.File;
import java.io.IOException;
import org.farng.mp3.MP3File;
import org.farng.mp3.TagException;
public class MP3Test {
public static void main(String[] args) throws IOException, TagException {
File f = new File("test.mp3");
MP3File mp = new MP3File(f);
System.out.println(mp.getFrequency());
}
}
--------------------------------------------------------------------------------
Exception in thread "main" java.io.IOException: Negative seek offset
at java.io.RandomAccessFile.seek(Native Method)
at org.farng.mp3.id3.ID3v1.seek(Unknown Source)
at org.farng.mp3.id3.ID3v1.read(Unknown Source)
at org.farng.mp3.id3.ID3v1.<init>(Unknown Source)
at org.farng.mp3.MP3File.<init>(Unknown Source)
at org.farng.mp3.MP3File.<init>(Unknown Source)
at com.test.MP3Test.main(MP3Test.java:15)
如您所见,即使是基本操作也会给我抛出异常,这让我很难真正开发一些东西......我正在尝试阅读的 MP3 文件工作得非常好。那么,关于为什么会发生这种情况和/或如何解决它的任何想法?
【问题讨论】:
-
我怀疑文件已损坏。尝试另一个。
-
@EJP 有一个好主意。尝试找到here 的一些 MP3 文件。
-
谢谢你们。实际上,我第一次得到它时就想到了这个,所以,我尝试了另一个文件,另一个文件,另一个......尝试了 30 多个文件并得到了同样的例外。现在我尝试在@AndrewThompson 建议的站点中使用这些文件并得到相同的异常:/
-
我遇到了同样的问题。我认为这是错误...我检查了 2 个参数:文件路径的长度和文件夹的深度(对不起我的英语:-))。问题出在这两个参数之间。路径 E:\F\G\H\I\J\K\L\ 正常路径 E:\F\Music\Rammstein\Mutter\ 不正常...但路径 E:\F\MUZYCZKA\Rammstein12345678901234567890 正常.
标签: java mp3 ioexception id3-tag id3v2