2015-01-27 6 views
8

मैं एंड्रॉइड में कैमरा 2 में मैन्युअल फोकस का एक उदाहरण ढूंढ रहा हूं। मैंने न्यूनतम फोकस दूरी और नीचे दिखाए गए फोकल लम्बाई उपलब्ध कराने की कोशिश की, लेकिन इससे मदद नहीं मिली। फोकस दूरी को कैसे नियंत्रित करें?कैमरा 2 में मैन्युअल फोकस, एंड्रॉइड

float minimumLens = characteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE); 

float[] lensDistances = characteristics.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS);  

मुझे इसे तलाशने के साथ नियंत्रित करने की आवश्यकता है। अग्रिम धन्यवाद।

उत्तर

5
switch (seekBar.getId()) { 
      case R.id.sb_focus: 
       float minimumLens = mCameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE); 
       float num = (((float) i) * minimumLens/100); 
       mPreviewBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, num); 
       int showNum = (int) num; 
       mSeekBarTextView.setText("focus:" + showNum); 
       break;} 

सावधान रहें, CONTROL_AF_MODE बंद होना चाहिए। लाइन 1109

+0

क्या एक ही क्षेत्र के लिए मैनुअल फोकस के बारे में में
https://github.com/pinguo-yuyidong/Camera2/blob/master/app/src/main/java/us/yydcdut/androidltest/ui/DisplayFragment.java
कोड? मैं उसे कैसे कर सकता हूँ? – user0770

+0

@yydcdut: दुर्भाग्य से यह समाधान सैमसंग गैलेक्सी एस 7 पर काम नहीं करता है। जबकि मैंने इसे किसी भी अन्य सैमसंग फोन पर नहीं देखा है, मुझे दृढ़ता से संदेह है कि ज्यादातर सैमसंग फोन समस्या से पीड़ित हैं। – unshul

+0

बस भावी पाठकों के लिए, मैं इस नमूना कोड में विश्वास करता हूं जो आप चाहते हैं: mPreviewBuilder.set (CaptureRequest.LENS_FOCUS_DISTANCE, न्यूनतम लेंस); यह स्पष्ट नहीं है कि वास्तव में क्या संख्या है, लेकिन यह किसी भी तरह से फोकल दूरी के प्रतिशत से संबंधित है, संभवतः seekBar के लिए। – jranalli

संबंधित मुद्दे