【发布时间】:2013-07-01 05:25:13
【问题描述】:
我正在使用mp4parser 库向某些 MP4 文件添加与 iTunes 兼容的元信息。此示例已简化,因为它不检查框是否可用,但会重现问题。
FileChannel fcr = new RandomAccessFile(srcFile, "r").getChannel();
FileChannel fcw = new RandomAccessFile(dstFile, "rw").getChannel();
IsoFile isoFile = new IsoFile(fcr);
MovieBox moov = isoFile.getBoxes(MovieBox.class).get(0);
UserDataBox udta = moov.getBoxes(UserDataBox.class).get(0);
MetaBox meta = udta.getBoxes(MetaBox.class).get(0);
AppleItemListBox apple = meta.getBoxes(AppleItemListBox.class).get(0);
AppleShowBox box = box = new AppleShowBox();
box.setValue("Series-Name");
apple.addBox(box);
isoFile.getBox(fcw);
fcw.force(true);fcw.close();
fcr.close();
好消息是该文件可以导入 iTunes,并且 Series-Name 显示在正确的位置。但是,MP4 文件已损坏,无法启动电影。如何在不损坏文件的情况下添加这种元信息?
【问题讨论】: