[英]Camera app with Auto Focus and Flash Light
我在android中開發相機應用程序(不使用intent),在其中我實現了自動對焦和閃光燈功能。 如果我實現任何一項功能,它都可以正常工作。 但是,在同時添加自動對焦和閃光燈功能后,它可以在LG nexus和其他具有閃光燈的手機中強制關閉。 我將以下代碼用於自動對焦和閃光燈。
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
{
event.startTracking();
camera.autoFocus(autoFocusCallback);
Parameters p = camera.getParameters();
p.setFocusMode(Parameters.FOCUS_MODE_AUTO);
if(this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH))
{
p.setFlashMode(Parameters.FLASH_MODE_ON);
camera.setParameters(p);
camera.startPreview();
camera.takePicture(shutterCallback, rawCallback, jpgCallback);
}
else
{
camera.startPreview();
camera.takePicture(shutterCallback, rawCallback, jpgCallback);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
private AutoFocusCallback autoFocusCallback = new AutoFocusCallback()
{
@Override
public void onAutoFocus(boolean autoFocusSuccess, Camera camera)
{
camera.takePicture(shutterCallback, rawCallback, jpgCallback);
if (autoFocusHandler != null)
{
Message message = autoFocusHandler.obtainMessage(autoFocusMessage, success);
autoFocusHandler.sendMessageDelayed(message, AUTOFOCUS_INTERVAL_MS);
autoFocusHandler = null;
}
else
{
}
}
};
這是我得到的錯誤日志。
可能是什么問題。 請幫忙! 謝謝!
剛剛快速瀏覽了Camera文檔,就好像您錯過了Surface Holder。
重要說明:將完全初始化的SurfaceHolder傳遞給setPreviewDisplay(SurfaceHolder)。 沒有表面,相機將無法開始預覽。
閱讀文檔: http : //developer.android.com/reference/android/hardware/Camera.html
這是顯示如何使用它的答案: https : //stackoverflow.com/a/3964460/2045570
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.