我正在使用來自相機的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