2015-04-19 8 views
7

एक ऐप में जो मैं विकसित कर रहा हूं, मैं उपयोगकर्ता को वीडियो रिकॉर्डिंग का संकल्प चुनना चाहता हूं। विनिर्देश के कारण, मैं AVCaptureSessionPreset स्थिरांक का उपयोग नहीं कर सकता।
प्रारूप सूची प्राप्त करना 3000px से ऊपर के प्रस्ताव हैं जो निश्चित रूप से वीडियो हथियाने के लिए काम नहीं कर सकते हैं बल्कि केवल फोटो शूटिंग के लिए काम नहीं कर सकते हैं।
समझें कि क्या AVCaptureDeviceFormat वीडियो रिकॉर्डिंग उपयुक्त है

AVCaptureDeviceFormat: 0x17020c830 'ख़बरदार'/'420f' 3264x2448, {2- 30 एफपीएस}, HRSI: 3264x2448, FOV: 58.040, अधिकतम जूम: 153.00 (upscales @ 1.00), वायुसेना सिस्टम: 2 , आईएसओ: 2 9 .08856.0, एसएस: 0.000013-0.500000

मुझे यह देखने का कोई तरीका नहीं मिल रहा है कि वीडियो रिकॉर्डिंग के लिए कोई विशिष्ट प्रारूप उपयुक्त है या नहीं।
समस्या यह है कि अगर मैं एक वीडियो पकड़ने की कोशिश करता हूं तो इस तरह के रिज़ॉल्यूशन के साथ ऐप एक अपवाद उत्पन्न करता है जिसमें कोई सक्रिय या सक्षम कनेक्शन नहीं है।

- [AVCaptureMovieFileOutput startRecordingToOutputFileURL: recordingDelegate:] - कोई सक्रिय/ कनेक्शन सक्षम।

मैं भी प्रत्येक प्रकार के डिवाइस के लिए हार्डकोड सीमा नहीं चाहता हूं।
मैं AVCaptureSessionPresetHigh तक सीमा को कैप करने की कोशिश भी नहीं कर सकता क्योंकि जैसा कि Apple note में बताया गया है, वास्तविक अधिकतम प्रारूप नहीं है।
क्या यह समझने का कोई तरीका है कि AVCaptureDeviceFormat वीडियो को पकड़ने के लिए उपयुक्त है या नहीं?

उत्तर

2

चयनित-सक्रिय फ़ार्मेट के साथ सभी कनेक्शन सेट करने के बाद वर्तमान AVCaptureConnectionisActive या केवीओ संपत्ति -active का उपयोग करके देखें। यदि यह वीडियो प्रारूप के लिए प्रारूप उपलब्ध नहीं है, तो यदि यह हाँ है तो इसका उपयोग किया जा सकता है।

+1

इस समाधान को पोस्ट करने के लिए धन्यवाद! – AlexeyVMP

+2

उपरोक्त। चीजों को डीबग करने और परीक्षण करने के लिए अच्छा विचार है, लेकिन उत्पादन कोड के लिए नहीं, क्योंकि आईफोन 5 एस पर सभी प्रारूपों में जाने में कई सेकंड लगते हैं। ऐसा लगता है कि ऐप लटका हुआ है। –

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