2010-09-02 14 views
5

मैं लगातार छवियों पर कब्जा करने के बाद एप्पल द्वारा दिए गए कोड का पालन करते हुए iOS 4.0 जारी किया गया के लिए ए वी फाउंडेशन उपयोग कर रहा हूँ, http://developer.apple.com/iphone/library/qa/qa2010/qa1702.htmlAVCapture सत्र रोकें?

हालांकि, जब मैं फोन "[सत्र startRunning]," कैमरा पूर्वावलोकन शुरू करने में लगभग 1-2 सेकंड लगते हैं। तो, यह अंतिम उपयोगकर्ता को निराशाजनक है क्योंकि उसे कुछ समय इंतजार करना होगा।

क्या इसे रोकने के बजाय सत्र को रोकने का कोई तरीका है क्योंकि मैं प्रोग्राम लॉन्च पर सत्र में प्रवेश कर सकता हूं और इसे तब तक रोक सकता हूं जब तक उपयोगकर्ता कैमरे की स्क्रीन पर नेविगेट नहीं करता और वहां चलना शुरू कर देता है? किसी भी मदद के लिए धन्यवाद।

उत्तर

1

सत्र को "रोकें" का कोई तरीका नहीं है, लेकिन आप कैप्चर सत्र को किसी भी समय चलाना शुरू कर सकते हैं और बस इसे चलाना छोड़ सकते हैं। यदि आप अभी भी छवियों को कैप्चर कर रहे हैं, तो बस जब आप तैयार हों तो कैप्चरस्टिल इमेजएसिंक्रोनस फ्रॉमकनेक्शन पर कॉल करें। यदि आप वीडियो कैप्चर कर रहे हैं, तो आप अपना कैप्चर आउटपुट कर सकते हैं आउटपुट: didOutputSampleBuffer: कनेक्शन से: प्रतिनिधि में विधि केवल फ्रेम को फेंक दें जब तक आप उनके साथ कुछ नहीं करना चाहते। आप तब भी आउटपुट डिवाइस के बिना कैप्चर सत्र शुरू करने में सक्षम हो सकते हैं जब तक आप तैयार न हों (कोशिश नहीं की है)।

24

अपने सत्र को रोकने के बजाय आप इनपुट कनेक्शन को अक्षम कर सकते हैं।

उदा।

<your_video_preview_layer>.connection.enabled = NO; 

ताकि यह इनपुट डिवाइस से डेटा का उपभोग नहीं करेगा।

आशा है कि आप यही खोज रहे हैं।

0

यह वही है जो मैंने यूआई को प्रारंभिक 1-2 सेकंड लॉक करने से रोकने के लिए किया था जब कॉलिंग -स्टार्टिंग।

1) Add UIActivityIndicator 
2) Add observer to AVCaptureSession 
3) call -startRunning in a background thread 
4) Resume the UI in the notification callback 
संबंधित मुद्दे