BitmapFactory.decodeByteArray () gibt NULL zurück

Ich benutze den previewCallback von der Kamera, um Bilder aufzunehmen. Hier ist der Code, den ich benutze

private Camera.PreviewCallback mPrevCallback = new Camera.PreviewCallback() 
{
        public void onPreviewFrame( byte[] data, Camera Cam ) {
                Log.d("CombineTestActivity", "Preview started");
                Log.d("CombineTestActivity", "Data length = " 
                        + data.length );
                currentprev = BitmapFactory.decodeByteArray( data, 0, 
                        data.length );

               if( currentprev == null )
                   Log.d("CombineTestActivity", "currentprev is null" );

                Log.d("CombineTestActivity", "Preview Finished" );

        }
};

die Länge der Daten entspricht immer 576000.

Auch ich habe versucht, die Parameter der Kamera zu ändern, damit das Bild in verschiedenen Formaten zurückkommt. So sieht es aus, wenn ich das mache.

mCamera = Camera.open();
camParam = mCamera.getParameters();
camParam.setPreviewFormat( ImageFormat.RGB_565 );
mCamera.setParameters( camParam );
    mCamera.setPreviewCallback( mPrevCallback );

Sowohl wenn ich das Vorschauformat ändere als auch wenn ich es als Standard von NV21 belasse, wird BitmapFactory.decodeByteArray als null zurückgegeben. Ich habe auch versucht, das Vorschau-Format auf JPEG-Typ zu ändern. Ich bekomme sogar eine Debug-Anweisung im ddms, das bekomme ich

"D / skia (14391): --- SkImageDecoder :: Factory hat null zurückgegeben"

Antworten auf die Frage(12)

Ihre Antwort auf die Frage