2011-10-13 14 views
6

के साथ वीडियो रिकॉर्ड करें मैं वीडियो रिकॉर्डिंग पर काम करता हूं; निरंतर फोकस का अनुरोध करने के अलावा सबकुछ काम करता है। यह मैं क्या कर (कोई सफलता के साथ दोनों surfaceCreated और surfaceChanged में करने की कोशिश की है):एंड्रॉइड: "निरंतर" ऑटो-फोकस

camera = Camera.open(); 
camera.setPreviewDisplay(holder); 

Parameters parameters = camera.getParameters(); 

तो मुझे क्या करना या तो

parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO); 

या

parameters.set("focus-mode", "continuous-video"); 

दोनों एक ही बात करना चाहिए; तो मैं

camera.setParameters(parameters); 

के साथ पैरामीटर सेट करें यह अंतिम पंक्ति हमेशा दुर्घटनाग्रस्त हो जाती है! तो क्या मुझे कुछ याद आती है?

वैसे, मैं डिजायर एचडी, गैलेक्सी एस, गैलेक्सी टैब 7 और 10.1 जैसे नए उपकरणों पर परीक्षण करता हूं, जिसमें निरंतर ऑटो फोकस के लिए समर्थन होना चाहिए; कम से कम उनके अंतर्निर्मित कैमरा ऐप्स इसका समर्थन करते हैं।

+0

त्रुटि लॉग में क्या प्रदर्शित होता है? – ingsaurabh

+0

तत्काल उत्तर के लिए धन्यवाद, ingsaurabh। 'java.lang.RuntimeException: setParameters android.hardware.Camera.setParameters (Camera.java:1062) पर android.hardware.Camera.native_setParameters (मूल निवासी विधि) पर में विफल रहा है यह (ज्यादातर व्यर्थ क्रैश रिपोर्ट) है com.mr.RecorderScreen.surfaceCreated (RecorderScreen.java:76) ' – myself

+0

क्या किसी ने एंड्रॉइड में ऑटो फोकस ** के साथ वीडियो रिकॉर्ड करने के लिए ** प्रबंधित किया है? यदि ऐसा है, तो कृपया कुछ अवलोकन पोस्ट करें कि यहां क्या किया जाना चाहिए ... – myself

उत्तर

4

ठीक है, मेरे पास इस समस्या का समाधान है: मैं मैन्युअल रूप से कैमरे को कॉल करने में सक्षम था कैमरा # ऑटोफोकस (...)।

इसमें अभी भी गंभीर समस्याएं हैं। सबसे पहले, वीडियो शूटिंग करते समय ऑटोफोकस को कॉल करना कुछ सैमसंग उपकरणों पर काम नहीं कर रहा है। वीडियो रिकॉर्डिंग के दौरान अपने उपयोगकर्ताओं को मैन्युअल रूप से कैमरे पर ध्यान केंद्रित करने के लिए मजबूर करना एक अच्छा विचार नहीं है।

तो यदि आप सामान्यतः रिकॉर्डिंग करते समय अपने वीडियो पर ध्यान केंद्रित करते हैं - आपकी सलाह बहुत उपयोगी होगी।

5

आपको यह जांचना चाहिए कि डिवाइस द्वारा निरंतर ऑटो फोकस समर्थित है या नहीं। यह ऐसा कुछ है जो मेरे लिए काम करता है, कृपया इसे आज़माएं।

boolean startContinuousAutoFocus() { 

    Camera.Parameters params = mCamera.getParameters(); 

    List<String> focusModes = params.getSupportedFocusModes(); 

    String CAF_PICTURE = Parameters.FOCUS_MODE_CONTINUOUS_PICTURE, 
      CAF_VIDEO = Parameters.FOCUS_MODE_CONTINUOUS_VIDEO, 
      supportedMode = focusModes 
        .contains(CAF_PICTURE) ? CAF_PICTURE : focusModes 
        .contains(CAF_VIDEO) ? CAF_VIDEO : ""; 

    if (!supportedMode.equals("")) { 

     params.setFocusMode(supportedMode); 
     mCamera.setParameters(params); 
     return true; 
    } 

    return false; 
} 
+0

देर से प्रतिक्रिया के लिए खेद है। मैंने समान कोड की कोशिश की, लेकिन समस्या लगातार उन फोकस पर समर्थित नहीं है। – myself

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