2010-05-03 15 views
5

में UIImagePickerController का उपयोग करके वीडियो का चयन करें मुझे एक समस्या का सामना करना पड़ रहा है जहां मैं आईफोन 2 जी/3 जी डिवाइस में फोटो एलबम से वीडियो का चयन नहीं कर सकता। डिफ़ॉल्ट फोटो एप्लिकेशन वीडियो दिखाता है और उन्हें खेलने में सक्षम है, जिसका अर्थ यह है कि UIImagePickerController को स्पष्ट रूप से फोटो एलबम में वीडियो दिखाने और उन्हें चुनने में सक्षम होना चाहिए।2 जी/3 जी

मैं इस कोड किया है निर्धारित करने के लिए इस उपकरण में एक तस्वीर तड़क, वीडियो रिकॉर्डिंग, फोटो का चयन करके और का चयन वीडियो में सक्षम है: 3 जी डिवाइस के लिए

// Check if camera and video recording are available: 
[self setCameraAvailable:NO]; 
[self setVideoRecordingAvailable:NO]; 
[self setPhotoSelectionAvailable:NO]; 
[self setVideoSelectionAvailable:NO]; 

// For live mode: 
NSArray *availableTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]; 
NSLog(@"Available types for source as camera = %@", availableTypes); 
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
{ 
    if ([availableTypes containsObject:(NSString*)kUTTypeMovie]) 
    [self setVideoRecordingAvailable:YES]; 
    if ([availableTypes containsObject:(NSString*)kUTTypeImage]) 
    [self setCameraAvailable:YES]; 
} 

// For photo library mode: 
availableTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
NSLog(@"Available types for source as photo library = %@", availableTypes); 
if ([availableTypes containsObject:(NSString*)kUTTypeImage]) 
    [self setPhotoSelectionAvailable:YES]; 
if ([availableTypes containsObject:(NSString*)kUTTypeMovie]) 
    [self setVideoSelectionAvailable:YES]; 

जिसके परिणामस्वरूप लॉग इस प्रकार है:

2010-05-03 19:09:09.623 xyz [348:207] Available types for source as camera = (
    "public.image" 
) 
2010-05-03 19:09:09.643 xyz [348:207] Available types for source as photo library = (
    "public.image" 
) 

लॉग राज्य, फोटो लाइब्रेरी के रूप में kUTTypeMovie की स्ट्रिंग बराबर उपलब्ध नहीं है और इसलिए UIImagePickerController दिखाई नहीं देता (या बल्कि अपवाद फेंकता है तो हम स्रोत प्रकार सरणी जो kUTTypeMovie शामिल सेट) तस्वीर में मूवी फ़ाइलें पुस्तकालय।

मैंने 3 जीएस के लिए परीक्षण किया है, लेकिन मुझे यकीन है कि यह समस्या अन्य धागे के संदर्भ में मौजूद नहीं है।

मैंने 3.0 (बेस एसडीके) और 3.1 दोनों के लिए ऐप बनाया है, लेकिन उसी परिणाम के साथ।

यह समस्या पहले से ही सूत्र में चर्चा की है: http://www.iphonedevsdk.com/forum/iphone-sdk-development/36197-uiimagepickercontroller-does-not-show-movies-albums.html

लेकिन यह एक समाधान की मेजबानी के लिए प्रतीत नहीं होता।

इस समस्या के लिए कोई समाधान?

धन्यवाद और सादर, राज पवन

उत्तर

5

चूंकि वीडियो हमेशा उठाए जाने के बाद संपीड़ित होते हैं (कच्चे वीडियो रिकॉर्डर फ़ाइलें बहुत बड़ी होती हैं), और 2 जी/3 जी मॉडल हार्डवेयर एन्कोड/डीकोड करने में सक्षम नहीं होते हैं .264, उन्होंने इसे UIImagePickerController API से बाहर छोड़ा । यह दुर्भाग्यपूर्ण है क्योंकि हम सभी उन उपकरणों पर भी वीडियो चुनना पसंद करेंगे।

0
3GS पर

इसकी पूरी तरह से ठीक काम कर रहा है, और बात 3Gs लुढ़का है एसडीके 3.1 के बाद इतनी 3.0 वीडियो संबंधित चीजों में से किसी से निपटने की जरूरत नहीं है ..!

+0

हाँ, वही अवलोकन जो मैंने पहले ही कर लिए हैं। लेकिन 3.1 में यह ठीक नहीं लगता है। ऊपर मेरा प्रश्न देखें। मैंने पहले ही आईफोन 3 जी के लिए 3.0 और 3.1 एसडीके दोनों के लिए बनाया है, उनमें से कोई भी UIImagePickerController में वीडियो प्रदर्शित नहीं करता है। –

3

डिफ़ॉल्ट तस्वीरें आवेदन वीडियो दिखाने करता है और उन्हें

खेलने में सक्षम है लेकिन यह कैसे आप इस परीक्षण किया है? 2 जी/3 जी वीडियो रिकॉर्ड नहीं कर सकता है। तो आप एक वीडियो पिकर में वीडियो फ़ाइलों को नहीं रख सकते हैं। या मैं गलत हूँ?

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

+0

कैमरा प्लस प्रो जैसे ऐप्स हैं जो वीडियो रिकॉर्ड करते हैं और उन्हें आपके कैमरे रोल में सिंक करते हैं। इन वीडियो को बाद में फोटो लाइब्रेरी में देखा जा सकता है। इसके अलावा आप iTunes का उपयोग कर वीडियो लाइब्रेरी में वीडियो स्थानांतरित कर सकते हैं। मैं बिल्कुल नहीं जानता कि कैसे। इसके अलावा, एपिस हैं: -उसेवविडियोएटपाथटोज़ेडवॉट्सफ्लॉमअल्बम और -उआईएममेजवाइटटोज़ेडवॉटफोटोस एल्बम जो फोटो लाइब्रेरी में वीडियो सहेजने का काम करता है, इनका उपयोग 2 जी और 3 जी डिवाइस पर किया जा सकता है। अब हम उन्हें वापस कैसे उठा सकते हैं? –

+0

हां, लेकिन एसडीके कहता है: "इस फ़ंक्शन को कॉल करने से पहले, आपको UIVideoAtPathIscompatibleWithSavedPhotosAlbum फ़ंक्शन को यह निर्धारित करने के लिए कॉल करना चाहिए कि सहेजे गए फ़ोटो एल्बम में वीडियो सहेजना संभव है या नहीं।" तो आप इसे कर सकते हैं लेकिन केवल तभी डिवाइस इसका समर्थन करता है। मैं अलग कैमरों के बारे में जानता हूं, लेकिन ऐसा नहीं लगता कि यह एक उपयुक्त एपीआई उपयोग है। – bealex

+0

Ammmm, मैंने पहले UIVideoAtPathIscompatibleWithSavedPhotosAlbum की जांच नहीं की थी, लेकिन वीडियो को UISaveVideoAtPathToSavedPhotosAlbum का उपयोग करके कैमरा रोल में सहेजा जा सकता है। इसके बाद यह एक वैध तर्क है, आदर्श 2 जी/3 जी डिवाइस वीडियो चुनने में सक्षम नहीं हैं क्योंकि वे उन्हें खेल सकते हैं? हालांकि, एक बार कैमरा रोल में वीडियो रखे जाने पर, डिफ़ॉल्ट फ़ोटो एप्लिकेशन वीडियो चुनने और इसे चलाने में सक्षम होता है। –

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