首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取RIFF文件时的NegativeArraySizeException

读取RIFF文件时的NegativeArraySizeException
EN

Stack Overflow用户
提问于 2012-11-07 16:58:28
回答 1查看 276关注 0票数 0

我目前正在Java Multimedia IO Project上工作,正在测试RIFFInputStream,但在测试时遇到了NegativeArraySizeException;以下是调试控制台的输出;

代码语言:javascript
复制
RIFF Stream type: AVI 
Chunks contained in this stream: 

LIST::hdrl
    avih
    LIST
    LIST
LIST::INFO
    ISFT
Exception in thread "main" java.lang.NegativeArraySizeException
    at javax.io.RIFFList.<init>(RIFFList.java:25)
    at javax.io.RIFFInputStream.next(RIFFInputStream.java:58)
    at javax.io.RIFFInputStream.next(RIFFInputStream.java:56)
    at Test.main(Test.java:25)

当我第一次收到这个异常时,我下载了一个RIFF查看器,查看器列出了以下块;

代码语言:javascript
复制
RIFF:AVI 
    LIST:hdrl
        avih
        LIST:strl
        LIST:strl
        JUNK
    LIST:INFO
        ISFT
    JUNK
    LIST:movi
    idx1

所以现在发生的情况似乎是RIFFList构造函数代码在构建movi列表时遇到了问题。我想知道的是,为什么它会从流中接收到负数?

谢谢,利亚姆。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-10 11:48:57

我已经找到了问题并解决了它。

在重新阅读RIFF标准后,我发现问题是,当块数据不均匀时,将添加一个填充字节,但该字节不会显示在块大小上,因此我在RIFFList初始化代码中所做的就是告诉它,如果读取的块不均匀,则将位置号加1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13266240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档