Декодирование.webm формат не возвращает никаких BufferedImages

Мой код здесь компилируется правильно, но я сталкиваюсь с проблемой, что мой ArrayList из BufferedImages всегда пуст. Честно говоря, у меня нет никаких знаний относительно 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;
    }

}

2 ответа

Прежде всего не поймать Exception и ничего не делать

catch (Exception e) {}

Теперь, когда исключение ловится, оно молча терпит неудачу без какой-либо информации.

Изменить улов на печать трассировки стека: e.printStackTrace() и отправьте это.

Отказ от ответственности: я никогда не проверял рассматриваемый код самостоятельно. Но...

Смотря на исходный код net.sf.javavp8decoder.imageio.WebPImageReader он не может декодировать WebM файлы. Поддерживает только один кадр WebP файлы.

Если вы перестанете глотать исключение и игнорировать его, как предлагает @robocoder, вы должны получить IIOException с сообщением"Bad WEBP signature!",

Другие вопросы по тегам