Ошибка: SkImageDecoder :: Factory возвратил ноль - PullRequest
1 голос
/ 05 октября 2011

Я работаю над проектом, использующим кодек MPEG2 для декодирования видео.Мой кодек находится в C.

После декодирования видео он возвращает беззнаковый указатель char буфера RGB, который является указателем на биты изображения, которые хранятся в виде байтового массива.Моя функция отображения в Android, поэтому я должен отправить эту информацию в Android с помощью JNI.

Перед вызовом функции отображения я скопировал эти данные буфера RGB в байтовый массив и передал их функции отображения:

BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inDither = false;
opt.inPreferredConfig = Bitmap.Config.RGB_565;

Bitmap bit=BitmapFactory.decodeByteArray(data, 0,   data.length,opt);
canvas.drawBitmap(bit, draw_x, draw_y, null);

Но когда я запускаю приложение, приходит сообщение:

DEBUG / skia (327): SkImageDecoder :: Factory вернул null.

Я не знаю, почему bitmapFactory возвращает ноль.Поскольку я новичок в Android, я не слишком разбираюсь в программировании Android.Кто-нибудь, пожалуйста, помогите мне ..

1 Ответ

0 голосов
/ 15 февраля 2012

Да, я решил эту ошибку.Что я сделал, я добавил растровый заголовок перед данными RGB, затем скопировал эти данные в байтовый массив и затем передал его функции отображения, которая находится в Android.А затем используйте

Bitmap bit=BitmapFactory.decodeByteArray(data, 0, data.length);
canvas.drawBitmap(bit, draw_x, draw_y, null);

. Он вернет растровое изображение и нарисует это изображение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...