2011-10-05 4 views
1

비디오 디코딩에 MPEG2 코덱을 사용하는 프로젝트를 진행 중입니다. 내 코덱이 C입니다.오류 : SkImageDecoder :: Factory returned null

비디오를 디코딩 한 후 바이트 배열로 저장된 이미지 비트에 대한 포인터 인 RGB 버퍼의 부호없는 char 포인터를 반환합니다. 내 디스플레이 기능은 Android에 있으므로 JNI를 사용하여 Android로 정보를 보내야합니다.

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 returned null.

내가 복사 한 기능을 표시하는 바이트 배열에서 RGB 버퍼 데이터와이 기능을 표시하기 위해 전달하는 호출하기 전에

왜 bitmapFactory가 null을 반환하는지 알 수 없습니다. 필자는 Android로 초보자이기 때문에 안드로이드 프로그래밍에 대해 많이 모른다. 아무도 도와주세요 제발 ..

답변

0

예이 오류를 해결했습니다. 내가 한 일은 RGB 데이터 앞에 비트 맵 헤더를 추가 한 다음 해당 데이터를 바이트 배열에 복사 한 다음 안드로이드에있는 디스플레이 기능에 전달합니다. 그리고 그것은 ...

을 비트 맵을 반환하고 해당 이미지를 그릴 것입니다

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

를 사용