我正在使用来自相机的previewCallback尝试抓取图像。下面是我使用BitmapFactory.decodeByteArray()返回NULL
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");
}
};
的数据长度代码总是OTU一样576000.
我也试图改变摄像头的参数,使图像回来为不同的格式。这是我做这件事时的样子。
mCamera = Camera.open();
camParam = mCamera.getParameters();
camParam.setPreviewFormat(ImageFormat.RGB_565);
mCamera.setParameters(camParam);
mCamera.setPreviewCallback(mPrevCallback);
但是都当我改变预览格式,当我离开它,因为它的NV21的默认,BitmapFactory.decodeByteArray回来为空。我也尝试将预览格式更改为JPEG类型。我甚至得到的DDMS调试语句,这就是我得到
“d/Skia的(14391):--- SkImageDecoder ::厂返回null”
我回去点击了checkmarks nex t我在这里得到的一些答案。感谢您的信息 – RyoxSinfar 2010-07-27 15:49:48
可能的重复[在Android中从视频图像获取帧](http://stackoverflow.com/questions/1893072/getting-frames-from-video-image-in-android) – Tim 2016-04-07 02:38:36