自從幾天以來,我一直在爲我的應用程序使用CAMERA模塊。 我已經定製完整的相機模塊,而不是通過意圖調用硬件內置移動相機。我已經使用了快門,圖片等回調 現在我試圖將ZOOM和AUTO-FOCUS功能添加到此自定義相機。任何人都可以讓我知道如何添加ZOOM和AUTO-FOCUS功能以及清單文件中應該提及的所需權限..希望我能夠儘快得到幫助。我的Android應用程序的「相機」模塊的「自動聚焦」功能
回答
對於變焦(2×):
Camera.Parameters parameters = camera.getParameters();
parameters.set("zoom", "2.0");
parameters.set("taking-picture-zoom", "20");
對於API級別> 5使用該API的像setZoom()等
對於autofocussing(從斑馬線截取)
public final boolean onKeyDown(int keyCode, KeyEvent event) {
synchronized(this) {
if (!bIsPictureTaking) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER || keyCode == KeyEvent.KEYCODE_CAMERA) {
if (!bIsPictureTaking && !bIsAutoFocusStarted){
YourAutoFocusCallback autoFocusCallBack = new YourAutoFocusCallback();
camera.autoFocus(autoFocusCallBack);
。
final class YourAutoFocusCallback implements Camera.AutoFocusCallback {
private static final long AUTOFOCUS_INTERVAL_MS = 1500L;
private final CameraConfigurationManager configManager;
private boolean reinitCamera;
private Handler autoFocusHandler;
private int autoFocusMessage;
AutoFocusCallback(CameraConfigurationManager configManager) {
this.configManager = configManager;
}
void setHandler(Handler autoFocusHandler, int autoFocusMessage) {
this.autoFocusHandler = autoFocusHandler;
this.autoFocusMessage = autoFocusMessage;
}
public void onAutoFocus(boolean success, Camera camera) {
if (autoFocusHandler != null) {
Message message = autoFocusHandler.obtainMessage(autoFocusMessage, success);
autoFocusHandler.sendMessageDelayed(message, AUTOFOCUS_INTERVAL_MS);
autoFocusHandler = null;
configManager.setDesiredCameraParameters(camera);
} else {
}
}
}
夫婦的觀察從我的結尾。
1)Camera.autoFocus
是一次性的號召,在適用時 Camera.getParameters.getFocusMode()
要麼FOCUS-MODE-AUTO
或 FOCUS-MODE-MACRO
,在其他情況下,你不需要調用 autoFocus
方法。查看API文檔並忠實地關注它們。
2)通過一次呼叫時,它意味着此方法不登記 AutoFocusCallback
實例來連續接收通知。
3)相反,FOCUS-MODE-AUTO
甚至不是一個動態和連續的焦點 不變。相反,您可能希望使用FOCUS-MODE-EDOF
或 FOCUS-MODE-CONTINUOUS-PICTURES
,具體取決於您正在使用和構建的API級別和 SDK版本。
4)種種 可能性,實際的設備攝像頭可能不支持某些 FOCUS-MODE
常量,如EDOF
或INFINITE
。在創建攝像機參數時務必確保 ,您檢查 getSupportedFocusModes
並使用適用的常量。
5)調用 camera.autoFocus
之前camera.takePicture
可以臃腫的 導致PictureCallBack
至至少50% 更JPEG-字節數組比它的原始尺寸。不明確地調用autoFocus()
可能會導致以前的autoFocus()
以非常低的分辨率結束,這可能導致jpeg字節數組長度僅爲012KB,因此會導致BitmapFactory
中的空圖像位圖。
6)關於自動對焦權限,請參閱API文檔。
7)關於 變焦,它並不像實現自動對焦功能 一樣複雜。根據屏幕上的互動,如滑塊,或者硬件 鍵如音量鍵,你可以實現一個ZoomChangeListener
,你可以用Camera
儘快Camera
實例 從open(int cameraId)
收到註冊。
非常感謝您的時間和精力 – swiftBoy
- 1. Android相機自動對焦
- 2. Android即時應用程序的基本功能模塊
- 3. Android即時應用程序:功能模塊:該模塊不能是Android庫
- 4. 在Android應用程序塊臉相機
- 5. iOS需要的設備功能自動對焦相機
- 6. 相機應用程序與自動對焦和閃光燈
- 7. Twitter應用程序相關的自動刷新功能
- 8. 註冊我的應用程序的相機應用中的Android
- 9. 使用對比度傳輸功能的相機模塊焦點調整
- 10. Android應用程序自定義相機
- 11. 如何自動測試iOS和Android應用程序的功能?
- 12. Android應用程序中的自動註銷功能
- 13. 自動化Chrome手機/ Android意圖在Windows應用程序的C2DM功能
- 14. 使用像本機相機應用程序的AVCam對焦
- 15. 模擬WP7相機滾動縮放和拖動功能在應用程序
- 16. android自動對焦爲surfaceview相機
- 17. 自動聚焦到一個JQuery的.append功能
- 18. 模塊的功能自動運行?
- 19. Android相機應用程序
- 20. Android中的相機應用程序
- 21. 的JavaScript的onblur /聚焦狀態功能
- 22. Rails的自動加載的模塊時,應用程序啓動
- 23. Android應用程序能否重複「自動旋轉」功能?
- 24. HTML5 getUserMedia相機聚焦
- 25. 使用Android視覺api時的相機自動對焦控制
- 26. Android應用程序中的模塊性
- 27. 我的應用程序顯示在我的Android智能手機
- 28. 從我的android應用程序的Android應用程序的遊戲市場自動安裝Android應用程序
- 29. Android應用程序開發 - 相機應用程序的問題
- 30. Android重置應用程序的功能
我是否正確假設我不需要C'ameraConfigurationManager'如果我'setParameters' surfaceChanged以及如何創建/傳遞Handler使用setHandler.My焦點代碼是[here](http://pastebin.com/RDHMsn43) 。我必須按住ShutterButton幾秒鐘以便相機進行對焦,然後才能拍攝照片。在Thread/AsyncTask中放置PictureCallback代碼並沒有幫助。我借用了ShutterButton的代碼[https://android.googlesource.com/platform/packages/apps/Camera/+/gingerbread/src/com/android/camera/ShutterButton.java]。 – vamsiampolu