【发布时间】:2011-09-04 20:41:12
【问题描述】:
我正在尝试使用 Xuggle 从本地读取 mov 文件。 这给了我以下错误:
30-mag-2011 15.56.55 com.xuggle.ferry.NativeLogger log
GRAVE: [mov,mp4,m4a,3gp,3g2,mj2 @ 0x102840600] moov atom not found
问题是直到两分钟前它没有给出任何错误并且代码是相同的。
但是,我发现了这一点:
如果我使用字节数组打开 IContainer,它不起作用并给我错误:
ByteArrayInputStream b = new ByteArrayInputStream(file);
DataInputStream data = new DataInputStream(b);
IContainer container = IContainer.make();
if (container.open(data, null) < 0)
throw new IllegalArgumentException("E001 - Cannot open the container");
如果我使用临时文件打开 IContainer,它可以工作。
File temp = File.createTempFile("temp_", ".mov");
try
{
FileOutputStream fos = new FileOutputStream(temp);
fos.write(file);
fos.close();
}
catch(FileNotFoundException e)
{
System.out.println(e);
}
IContainer container = IContainer.make();
if (container.open(temp.toString(), IContainer.Type.READ, null) < 0)
throw new IllegalArgumentException("E001 - Cannot open the container");
有什么建议吗?
【问题讨论】: