Tôi đang phát triển một ứng dụng Android có tính năng chức năng liên quan đến máy ảnh.Android Camera: tiêu cự ống kính cố định
Trước hết, tôi đọc rất nhiều thứ trên SO, XDA và như vậy, thì xin vui lòng không chuyển hướng tôi đến bài viết vô ích khác.
Tôi cố gắng để thực hiện một cái gì đó giống như một "chế độ lấy nét cố định", do đó:
- tôi bắt đầu ứng dụng của tôi với
FOCUS_MODE_AUTO
(hay cái gì khác); - đưa tiêu điểm vào một đối tượng ở khoảng cách tùy ý;
- sửa tiêu điểm hiện tại;
- di chuyển máy ảnh trên vật thể khác ở khoảng cách khác không bị lấy nét.
tôi đã cố gắng giải pháp khác nhau, tức là .:
mCamera.cancelAutoFocus()
trongAutoFocusCallback
để ngăn chặn việc điều chỉnh trọng tâm;- thiết lập một
FocusArea
:new Camera.Area(new Rect(-50, -50, 50, 50), 1000)
để sửa chữa tập trung vào các khu vực hiện nay.
Tôi đang nhắm mục tiêu API 20 và tôi đang làm việc trên Samsung Galaxy S5. Trên thiết bị này, các chế độ lấy nét được hỗ trợ là: - auto - vô cực - vĩ mô - liên tục video - liên tục hình ảnh
Các gợi ý rằng tôi thấy thường xuyên hơn là để biên dịch lại Android ...
Bạn muốn nhấn để lấy nét? và bạn có thể đăng một số mã lớp surfaceview không? – sandeepmaaram
Xin chào. Tôi đã thêm một nút phía trên bản xem trước, lý tưởng, phải chuyển từ chế độ tự động lấy nét sang chế độ "cố định lấy nét" và ngược lại. Không có gì thú vị trong mã của tôi, chỉ đơn giản là tôi không biết làm thế nào để làm điều đó hoặc thậm chí nếu nó có thể. – Zeb
Bạn đang thực hiện tiêu điểm như thế nào? Chế độ "AUTO" không có nghĩa là máy ảnh liên tục lấy nét - chỉ khi bạn gọi lệnh autoFocus, tiêu điểm được thực hiện tự động mà không có dấu hiệu nào về kết quả bạn mong đợi không giống như "Macro" hoặc "Infinity". http://developer.android.com/reference/android/hardware/Camera.html#autoFocus(android.hardware.Camera.AutoFocusCallback) Vì vậy, nếu bạn không có một vòng lặp mà các cuộc gọi tự động lấy nét (như nhiều ví dụ làm hay gọi lại trong Callback) tập trung của bạn nên ở lại sau khi nó chạy một lần. – Raanan