Đặt khoảng cách lấy nét máy ảnh trong Android

Sep 17 2020

Ở chế độ chỉnh tay, ứng dụng camera trên Xperia XA (Sony F3113) cho phép tôi đặt khoảng cách lấy nét cho camera sau bằng một thanh trượt. (Xem ảnh chụp màn hình tại đây .)

Có cách nào tôi có thể xem hoặc tìm hiểu mã mà ứng dụng sử dụng để thực hiện việc này không?

Có cách nào tôi có thể đặt khoảng cách lấy nét (KHÔNG lấy nét tự động) trong một ứng dụng của riêng tôi không?

Cảm ơn!!!

Lưu ý 1: Tôi tin rằng API Camera2 không phải là một tùy chọn trên điện thoại này. (Nêu tôi sai vui long chân chỉnh tôi.)

Lưu ý 2: Câu hỏi của tôi (và ý định cuối cùng) rất giống với câu hỏi này , vẫn chưa được trả lời thỏa đáng.

Trả lời

EddyTalvala Sep 18 2020 at 02:39

Trừ khi thiết bị hỗ trợ khả năng camera2 MANUAL_SENSOR , không có cách tiêu chuẩn nào để lấy nét thủ công. Nếu khả năng đó được hỗ trợ, thì bạn chỉ có thể sử dụng LENS_FOCUS_DISTANCE để thay đổi tiêu điểm.

Nếu điều đó không được liệt kê, có khả năng nhà sản xuất đã thêm một số điều khiển tùy chỉnh để kiểm soát khoảng cách lấy nét; nếu thiết bị là một máy ảnh HỢP PHÁP , nó sẽ là một android.hardware.Camera.Parameterschuỗi tùy chỉnh , rất có thể. Nếu bạn biết giá trị điều khiển, bạn có thể sử dụng Parameters.set () để điều chỉnh nó.

Bạn có thể tìm ra nó cho thiết bị cụ thể đó bằng cách chạy ứng dụng mặc định, điều chỉnh tiêu điểm thủ công và trong khi ứng dụng vẫn hoạt động, sử dụng adb để chạy adb shell dumpsys media.cameravà xem các giá trị thông số máy ảnh hiện tại được liệt kê. Có thể có nhiều cài đặt cần được điều chỉnh (chẳng hạn như chế độ AF) ngoài điều khiển khoảng cách lấy nét thực tế, lưu ý.

Tất nhiên, điều này sẽ chỉ giữ cho thiết bị cụ thể này; vì có các giao diện không có giấy tờ, chúng có thể thay đổi tùy thuộc vào OEM, thiết bị hoặc thậm chí trên bản cập nhật hệ điều hành. Vì vậy, phụ thuộc vào họ là rất mong manh.