Java 解码.webm格式不返回任何缓冲区映像

Java 解码.webm格式不返回任何缓冲区映像,java,arraylist,decode,javax.imageio,webm,Java,Arraylist,Decode,Javax.imageio,Webm,这里的代码编译正确,但我遇到了一个问题,我的BuffereImage数组列表总是空的。老实说,我对ImageIO之类的东西一无所知 import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import javax.imageio.IIOException; import javax.imageio.ImageIO; impo

这里的代码编译正确,但我遇到了一个问题,我的BuffereImage数组列表总是空的。老实说,我对ImageIO之类的东西一无所知

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import javax.imageio.IIOException;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;

import net.sf.javavp8decoder.imageio.WebPImageReader;
import net.sf.javavp8decoder.imageio.WebPImageReaderSpi;

class MyProj{

    public static void main(String[] args) throws IOException{
        System.out.println("Main"); 

        ArrayList<BufferedImage> collectedImg=getFrames();
    }

    static ArrayList<BufferedImage> getFrames() throws IIOException{
        File MyWebM= new File("/users/case3/mcclusm4/workspace/LineTech/src/goal.webm");
        ArrayList<BufferedImage> frames = new ArrayList<BufferedImage>();
        try{
            ImageReader ir = new WebPImageReader(new WebPImageReaderSpi());
            ir.setInput(ImageIO.createImageInputStream(MyWebM));


            for(int i = 0; i < ir.getNumImages(true); i++)
                frames.add(ir.read(i));

        }catch(IOException e){}
        return frames;
    }

}
首先,不要捕获异常,什么也不做:

catch (Exception e) {}
现在,当捕捉到异常时,它会在没有任何信息的情况下无声地失败


将catch更改为print stacktrace:e.printStackTrace并发布。

免责声明:我本人从未测试过有问题的代码。但是

从net.sf.javavp8decoder.imageio.WebPImageReader的源代码来看,它无法解码WebM文件。它是WebP文件


如果您停止接受异常并忽略它,正如@robocoder所建议的那样,您应该得到一个

你确定没有例外吗?ir.getNumImagetrue返回什么值?上面的代码不能作为MVCE使用,因为我们没有您的输入文件。。。你能分享一下吗?