2
我已經創建了一個自定義的系統服務,並且我希望我的服務能夠在沒有預覽的情況下在後臺捕獲相機幀。我遵循了developer.android網站中的步驟並實現了以下代碼,但它不生成任何框架。這裏的代碼是:Camera.Preview回調不產生相機幀
public void startCapture() {
//Start The camera
int openCamera = 0;//default camera to be opened
mCamera = Camera.open(openCamera);
Camera.Parameters p = mCamera.getParameters();
setPreviewSize(p.getPreviewSize());//method to get Camera size
mCamera.getParameters().setPreviewFpsRange(1, 2);
try{
Camera.PreviewCallback mPreviewCallback = new Camera.PreviewCallback()
{
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
// public void cameraPreview(byte[] data, Camera camera) {
// TODO Auto-generated method stub
decodeYUV420SP(rgb, data, width, height);//method for processing the image
bitmap.setPixels(rgb, 0, width, 0, 0, width, height);
String newFolder = "/Pictures";
String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
File myNewFolder = new File(extStorageDirectory + newFolder);
if (!myNewFolder.exists())
myNewFolder.mkdir();
File file = new File(path, "/Pictures/Frame-"+count+".jpg");
boolean fileCreated = file.createNewFile();
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
out.flush();
out.close();
};
}catch (Exception e)
{
e.printStackTrace();
}
}
mCamera.setPreviewCallback(mPreviewCallback);
mCamera.startPreview();
}
我想幀被捕獲和存儲在提到的路徑SD卡中,但我沒有完成它。我在這裏做錯了什麼。需要一些幫助!
感謝提前回復。