我正在开发一个使用MPEG2编解码器解码视频的项目。我的编解码器在C.
在对视频进行解码之后,它返回RGB缓冲区的无符号字符指针,该指针是指向存储为字节数组的图像位的指针。我的显示功能在Android中,所以我必须使用JNI将该信息发送到Android。
在调用显示功能之前,我已将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返回null。由于我是Android的初学者,我对Android编程知之甚少。有人可以帮帮我..
答案 0 :(得分:0)
是的,我解决了这个错误。我做了什么我在RGB数据之前添加了位图标题,然后将该数据复制到字节数组中,然后将其传递给android中的显示功能。然后使用
Bitmap bit=BitmapFactory.decodeByteArray(data, 0, data.length);
canvas.drawBitmap(bit, draw_x, draw_y, null);
它将返回位图并绘制该图像......