Создание видео из изображений с помощью jcodec (ошибка)

Я пытаюсь использовать библиотеку jcodec для создания видео из изображений, но sequenceEncoder.encodeImage(bitmap) показывает ошибку.

мой код для кодирования: -

class EncodeImages extends AsyncTask<File, Integer, Integer>{

        @Override
        protected Integer doInBackground(File... params) {
            SequenceEncoder sequenceEncoder;

            try {
                sequenceEncoder = new SequenceEncoder(new File(params[0].getParentFile(),"Frames Video.mp4"));

                for (int i = 0; !flag; i++) {
                    File imagesFile = new File(params[0].getParentFile(), String.format(params[0].getName(), i));

                    if(!imagesFile.exists()){
                        break;
                    }
                    Bitmap bitmap = BitmapFactory.decodeFile(imagesFile.getAbsolutePath());

                    sequenceEncoder.encodeImage(bitmap);

                    publishProgress(i);

                }

                sequenceEncoder.finish();
            } catch (IOException e) {
                e.printStackTrace();
            }

            return null;
        }

    }

Но строка - sequenceEncoder.encodeImage(bitmap); показывает следующие ошибки: -

Несколько маркеров в этой строке. Тип java.awt.image.BufferedImage не может быть разрешен. На него косвенно ссылаются из требуемых файлов .class... - Метод encodeImage(BufferedImage) из типа SequenceEncoder ссылается на отсутствующий тип BufferedImage...

он просит меня настроить путь сборки. Я пробовал вроде все, но тщетно. Что я должен делать дальше???


person ranjitzade    schedule 25.08.2014    source источник
comment
java.awt classes отсутствуют в Android.   -  person Ahmed Nawaz    schedule 25.08.2014


Ответы (1)


java.awt классов нет в Android. Вы должны попробовать JavaCV для кодирования видео или, как я вижу, jcodec добавил версию для Android 14 сентября 2013 года. Вы должны скачать версию для Android с https://github.com/jcodec/jcodec и добавьте ее в свой проект.

person Ahmed Nawaz    schedule 25.08.2014
comment
Но согласно библиотеке jcodec пример проекта для Android использует тот же код и его apk работает (скачал по той же ссылке). Поэтому я предпочел использовать эту библиотеку. - person ranjitzade; 25.08.2014
comment
The type java.awt.image.BufferedImage cannot be resolved. как показывает ваша ошибка, вы пытаетесь использовать BufferedImage из пакета java.awt, которого нет в Android. java.awt присутствует только в десктопной версии java. Я думаю, вы скачали файл .jar отсюда jcodec.org/downloads.html, который, я думаю, устарел jcodec-0.1.5.jar 05/20/2013 они добавили версию для Android 14 сентября 2013 года. - person Ahmed Nawaz; 25.08.2014
comment
Я скачал то же самое. но он просит меня добавить BufferedImage в sequenceEncoder.encodeImage(bitmap) вместо растрового изображения. - person ranjitzade; 25.08.2014