解压缩swf文件的头(可以用qUncompress吗?)

时间:2010-12-03 09:41:10

标签: qt flash

我有一些使用Adobe Flash生成的swf文件。 有谁知道如何在QT中解压缩标题? 我需要它们的大小(宽度和高度),帧速率和帧数。

由于

1 个答案:

答案 0 :(得分:0)

如果qUncompress要求所有压缩数据都在QByteArray中解压缩,则不会记录。从它的wording开始,似乎意味着这一点。我想象一下将一些大的SWF加载到内存中只是为了在头文件中获取几个字节是不切实际的。

如果您可以将整个文件加载到内存中,只需将从偏移量4开始的文件加载到QByteArray并翻转第1个4的字节顺序(SWF是little-endian和{{1} }要求长度在big-endian)。从翻转的32位整数中减去4。然后拨打qUncompress

如果加载整个文件并不理想,最好直接使用qUncompress中的流函数。这允许您逐个解压缩数据。