मैं एक ऐप बना रहा हूं जो वीडियो रिकॉर्डिंग उद्देश्यों के लिए कैमरा फोकस लॉक करता है। मैं फोकस को मैन्युअल रूप से फोकस समायोजित किए बिना फोकस को अनंत तक लॉक करना चाहता हूं। क्या यह संभव है? धन्यवाद!क्या आईओएस डिवाइस से अनंतता तक कैमरे के फोकस को प्रोग्रामेटिक रूप से सेट करने का कोई तरीका है?
उत्तर
कि फोकस निष्क्रिय करने के लिए इस तरह, यह यह सब समय के लिए ताले है:
// Find a suitable capture device
AVCaptureDevice *cameraDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
// SETUP FOCUS MODE
if ([cameraDevice lockForConfiguration:nil]) {
[cameraDevice setFocusMode:AVCaptureFocusModeLocked];
[cameraDevice unlockForConfiguration];
}
else{
NSLog(@"error while configuring focusMode");
}
आपका क्या मतलब है "अनंत को फोकस ताला"?
फोकस अनंतता = लॉक फोकस को सबसे दूर बिंदु पर लॉक करें – jsrivo
क्या यह एक वैध उत्तर है? – VansFannel
दुख की बात है, नहीं। आर्टम ने कहा, आप कैमरे को फोकस-लॉक मोड में सेट कर सकते हैं; ऑटोफोकस मोड (फोकस, फिर लॉक), या निरंतर ऑटोफोकस मोड में डालें, लेकिन आप कैमरे को ध्यान केंद्रित करने के लिए एक विशिष्ट दूरी नहीं दे सकते।
सबसे अच्छा मैं (एक्सपोजर और सफेद संतुलन नियंत्रण, जो समान रूप से सीमित हैं) के साथ आने में सक्षम है, यह है कि उपयोगकर्ता कैमरे को एक उचित दृश्य (आपके मामले में, कुछ दूर) पर इंगित करता है और उसे लॉक बटन दबाएं। कैप्चर डिवाइस एपीआई पर
विवरण है, यह है जैसे: https://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVCaptureDevice_Class/Reference/Reference.html
क्या यह एक वैध उत्तर है? – VansFannel
एक वैध उत्तर? यह एकमात्र तरीका है जिसे मैंने पाया है। आप कैमरे का फोकस "लॉक" या "अनलॉक" पर सेट कर सकते हैं, और आप इसे "फोकस करें, और लॉक" करने के लिए कह सकते हैं (विनिर्देशों के लिए, https://developer.apple.com/library/mac/#documentation/ देखें AVFoundation/संदर्भ/AVCaptureDevice_Class/संदर्भ/Reference.html)। आप फोकस करने के लिए केवल * कब * पर ध्यान केंद्रित करने के लिए कैमरा * नहीं * बता सकते हैं। तो एकमात्र तरीका है कि मैं अनंतता पर ध्यान केंद्रित करने के बारे में सोच सकता हूं कि उपयोगकर्ता कैमरे के फोकस पॉइंट को बहुत दूर पर लक्षित कर लेता है, और फिर इसे लॉक करता है। यदि आप एक बेहतर तरीका पा सकते हैं, तो कृपया हमें बताएं! –
एक और मुद्दा: एक्सपोजर और सफेद संतुलन के साथ, कम से कम, लॉक की स्थिति को ऐप के इनवॉलेशन में याद किया जाता है, लेकिन लॉक मान नहीं है। यदि मेरा ऐप सक्रिय स्थिति से इस्तीफा दे देता है और फिर फिर से सक्रिय हो जाता है, तो कैमरा वर्तमान में जो भी मूल्य देखता है उसे ताला लगाता है, * नहीं * पहले यह मान था: * * * * को याद किया जाता है, भले ही * राज्य * याद किया जाए। यदि फोकस एक ही तरीके से व्यवहार करता है, तो एक ऐप जो फोकस-लॉक पर निर्भर करता है उसे अमान्य मान से बचने के लिए बैकग्राउंड करते समय इसे बंद कर देना चाहिए (मैं अपने एप्लिकेशन में कैमरा लॉक बंद कर देता हूं: मैं सभी मामलों को कवर करता हूं) हैंडलर। –
AVCaptureDevice समारोह setFocusModeLockedWithLensPosition है: completionHandler:
आप इसका इस्तेमाल को प्राप्त करने के क्रम में 1.0 स्थापित करने के लिए कर सकते हैं "अनंत" दूरी
func focusTo(value : Float) {
if let device = captureDevice {
if(device.lockForConfiguration(nil)) {
device.setFocusModeLockedWithLensPosition(value, completionHandler: { (time) -> Void in
//
})
device.unlockForConfiguration()
}
}
अद्यतन: ऐप्पल प्रलेखन 1.0 के अनुसार अनंतता पर ध्यान केंद्रित नहीं करता है।
यह काम करता है? –
[लिंक] (https://developer.apple.com/documentation/avfoundation/avcapturedevice/1624643- लेंसपोजिशन) संभावित पदों की सीमा 0.0 से 1.0 है, 0.0 सबसे छोटी दूरी है जिस पर लेंस फोकस कर सकता है और 1.0 सबसे दूर। ध्यान दें कि 1.0 अनंतता पर ध्यान केंद्रित नहीं करता है। डिफ़ॉल्ट मान 1.0 है। मेरे लिए यह काम करता है – EdiZ
- 1. डिवाइस का फ़ोन नंबर प्रोग्रामेटिक रूप से
- 2. क्या आईओएस में प्रोग्रामेटिक रूप से ब्लूटूथ और/या वाईफाई टॉगल करने का कोई तरीका है?
- 3. प्रोग्रामेटिक रूप से फोकस निकालें?
- 4. क्या विंडोज़ पर सी ++ में प्रोग्रामेटिक रूप से पर्यावरण पथ सेट करने का कोई तरीका है?
- 5. क्या प्रोग्राम बार आइटम प्रोग्रामेटिक रूप से हाइलाइट करने का कोई तरीका है?
- 6. एम्बेडेड जेटी में प्रोग्रामेटिक रूप से संदर्भ-पैरा सेट करने का कोई तरीका है?
- 7. क्या कोई फ़ाइल प्रकार एसोसिएशन लेने के लिए "UserChoice" रजिस्ट्री कुंजी प्रोग्रामेटिक रूप से सेट करने का कोई तरीका है?
- 8. सेट चौड़ाई प्रोग्रामेटिक रूप से
- 9. एंड्रॉइड 2.2: रीबूट डिवाइस प्रोग्रामेटिक रूप से
- 10. क्या लिनक्स पर x86 से ARM तक द्विआधारी पुन: संकलित करने का कोई तरीका है?
- 11. क्या कोई एएसपी.NET एप्लिकेशन के कस्टमरर्स को बंद करने के लिए प्रोग्रामेटिक रूप से जांचने का कोई तरीका है?
- 12. क्या ब्रेकपॉइंट्स को सशर्त रूप से सेट या कोड करने का कोई तरीका है?
- 13. क्या प्रदर्शन रीफ्रेश दर प्रोग्रामेटिक रूप से प्राप्त करने का कोई तरीका है?
- 14. .NET में प्रोग्रामेटिक रूप से HttpHandler जोड़ने का कोई तरीका?
- 15. क्या विशेष रूप से स्टैक्ड एक्शन बार के लिए actionBarTabTextStyle सेट करने का कोई तरीका है?
- 16. डिवाइस कैमरे का उपयोग कर आईफोन ऐप में प्रोग्रामेटिक रूप से चित्र कैसे लें?
- 17. क्या "निरंतर" ऑटो-फ़ोकस करने का कोई प्रभावी तरीका है?
- 18. क्या कैमरे की स्ट्रीम के आईओएस पर चमक स्तर पाने का कोई तरीका है?
- 19. यूएसबी डिवाइस को प्रोग्रामेटिक रूप से कनेक्ट और डिस्कनेक्ट करें
- 20. क्या वेब पेज से ऑडियो के लिए आउटपुट डिवाइस का चयन करने का कोई तरीका है?
- 21. क्या रेलवे टाइमस्टैम्प फ़ील्ड को स्वचालित रूप से अपडेट करने से बचने का कोई तरीका है?
- 22. क्या आईओएस डिवाइस पर मशाल/फ्लैश चमक स्तर को समायोजित करने का कोई तरीका है?
- 23. आईओएस में प्रोग्रामिक रूप से वाईफाई को चालू और बंद करने का कोई तरीका है?
- 24. क्या मास्टरटाइप प्रोग्रामेटिक रूप से सेट करना संभव है?
- 25. प्रोग्रामेटिक रूप से आयात टीम प्रोजेक्ट सेट
- 26. किसी डिवाइस से किसी एप्लिकेशन से किसी डिवाइस से कनेक्ट करने का सबसे आसान तरीका क्या है?
- 27. क्या वायरशर्क की सुविधाओं का उपयोग कर प्रोग्रामेटिक रूप से फ़ाइलों को निर्यात करने का कोई तरीका है?
- 28. वर्डप्रेस भाषा प्रोग्रामेटिक रूप से सेट करना?
- 29. आईओएस 4.2, आईफोन 4 कैमरे की फोकस दूरी
- 30. प्रोग्रामरेटिक रूप से लीडरबोर्ड को रीसेट करने का कोई तरीका?
क्या आपको ऐसा करने का कोई तरीका मिला है? – VansFannel