2009-09-04 9 views
10

के लिए UIImagePickerController मैं आईफोन 3 जीएस पर एक साधारण वीडियो अपलोडर एप्लिकेशन लिख रहा हूं जहां मैं पहले उपयोगकर्ता को फोटो एलबम में निर्देशित करता हूं, और फिर साझा करने या अपलोड करने के लिए वीडियो का चयन करता हूं। मैं निम्नलिखित तरीके से UIImagePickerController उपयोग कर रहा हूँ:मूवी आइटम

videoPickerCtrl = [[UIImagePickerController alloc] init]; 
videoPickerCtrl.delegate = self; 
videoPickerCtrl.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
videoPickerCtrl.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:videoPickerCtrl.sourceType]; 

videoPickerCtrl.allowsImageEditing = NO; 
videoPickerCtrl.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie]; 
[window addSubview:videoPickerCtrl.view]; 

लेकिन मैं देख सकता हूँ एक बार नियंत्रक शुरू हो जाती है, तो उस प्रस्तुत किया है एक परेशान वीडियो काट-छाँट इंटरफेस है। एक बार जब मैं "चयन" दबाता हूं, तो वीडियो हमेशा छंटनी होती है इससे कोई फर्क नहीं पड़ता कि मैं ट्रिमिंग नियंत्रण को स्पर्श करता हूं या नहीं। क्या इस ट्रिमिंग इंटरफ़ेस को पाने के लिए कोई तरीका है और सीधे वीडियो फ़ाइल का मार्ग प्राप्त करें?

+0

इमेज एडिटिंग संपत्ति को आईओएस में अस्वीकृत कर दिया गया है 3.1 – kamleshwar

+0

इसमें फ़ाइल को आपके एप्लिकेशन के सैंडबॉक्स की टीएमपी निर्देशिका में कॉपी करने में समय लगता है। आपको ऑरगिनल फ़ाइल नहीं दी गई है, सिर्फ एक प्रतिलिपि ... ताकि प्रगति पट्टी फ़ाइल की प्रतिलिपि बना रहा हो। – n3wscott

उत्तर

2

आपको allowsImageEditing = NO; (जिसे 3.1 में हटा दिया गया है) के बजाय allowsEditing = NO; सेट करना चाहिए। फिर, ट्रिमिंग इंटरफ़ेस तब तक प्रकट नहीं होना चाहिए जब तक कि चयनित फिल्म 10 मिनट से अधिक न हो (दस्तावेज़ों से: "अधिकतम मूवी अवधि 10 मिनट है। यदि कोई उपयोगकर्ता 10 मिनट से अधिक अवधि में एक ऐसी फिल्म चुनता है, तो उसे ट्रिम करने के लिए मजबूर किया जाता है इसे बचाने से पहले। ")।

1

ठीक है तो मुझे एसडीके दस्तावेज़ों को ध्यान से देखने के बाद लंबे समय से काम करना पड़ा। मैं अपने 3 जीएस पर कैमरा रोल निर्देशिका से वीडियो प्राप्त करने में सक्षम हूं। लेकिन मुझे कोई रास्ता नहीं मिल रहा है जिसमें UIImagePickerController कैमरा रोल के अलावा अन्य निर्देशिकाओं से वीडियो चुन सकता है (उदाहरण के लिए, डिवाइस की फोटो लाइब्रेरी जहां उपयोगकर्ता आईट्यून्स के माध्यम से वीडियो सिंक करता है)। क्या ऐसा करने के लिए एसडीके में कोई मानक तरीका है?

+0

यह एक उत्तर नहीं है। – memmons

+0

हम जानते हैं कि ठीक है ?? – humblePilgrim

2

दिलचस्प समस्या। यह सिर्फ जानकारी के लिए है और किसी और को यह देखना चाहिए। आईपैड ओएस 3.2 पर मुझे वीडियो पुनर्प्राप्त करने में कुछ समस्याएं मिली हैं, हालांकि पिकर काम करता है और मैं कैमरे के रोल से नहीं बल्कि एल्बम से वीडियो का चयन कर सकता हूं।

यहाँ मेरे कार्य कोड frag है

कॉल

NSArray *mediaTypesAllowed = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
    [picker setMediaTypes:mediaTypesAllowed]; 

    picker.delegate = self; 
    picker.allowsEditing = NO; 
    picker.wantsFullScreenLayout = YES; 
    if(!IsEmpty(self.editBackgroundPopover)){ 
     [self.editBackgroundPopover setContentViewController:picker animated:YES]; 
    } 

और यहाँ प्रतिनिधि विधि

imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    [self.editBackgroundPopover dismissPopoverAnimated:true]; 

NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType]; 

    //not production code, do not use hard coded string in real app 
    if ([ mediaType isEqualToString:@"public.image" ]) {                           
     NSLog(@"Picked a photo"); 
    } 
    //not production code, do not use hard coded string in real app 
    else if ([ mediaType isEqualToString:@"public.movie" ]){ 
     NSLog(@"Picked a movie at URL %@", [info objectForKey:UIImagePickerControllerMediaURL]); 
     NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL]; 
     NSLog(@"> %@", [url absoluteString]); 
    } 

    [[picker self] dismissModalViewControllerAnimated:YES]; 
} 

हालांकि वीडियो URL जो मैं पिकर से पुनः प्राप्त प्रपत्र है

फ़ाइल:/lo calhost/निजी/var/मोबाइल/आवेदन/C6FAC491-D27D-45A6-B805-951727ED2CEC/tmp/-Tmp-/trim.KOzqps.MOV

तो यह है कि वीडियो के माध्यम से कार्रवाई की जा रही हो सकता है मेरे लिए लग रहा है ट्रिमिंग कोड भले ही मैं पूरी तरह से वीडियो का चयन कर रहा हूं। ध्यान दें कि मूल रूप से टाइप एम 4 वी के रूप में जब मैं इसे आईट्यून्स के माध्यम से लोड करता हूं तो एमओवी प्रकार होता है, जो कि डिवाइस पर बिल्कुल नामुमकिन है! मैंने यूआरएल खेलने का प्रयास किया लेकिन मुझे एक चेतावनी मिली कि "इस तरह की फिल्म नहीं खेला जा सकता"

मुझे समझ में नहीं आता कि ऐप्पल यहां क्या खेल रहा है, एपीआई वास्तव में उपयोग करने योग्य नहीं है फोटो लाइब्रेरी से वीडियो लोड करने और चलाने का तरीका।

उम्मीद है कि आईओएस 4 अधिक आगामी होगा, लेकिन मेरे आईपैड ऐप के लिए, यह अभी भी महीनों दूर है।

+0

आईओएस 4.2 द्वारा हल नहीं किए गए थे। मैं अभी भी उन्हें देख रहा हूँ।क्या आपने यह काम करने के लिए कोई रास्ता खोजा है? – SpaceDog

+0

हैलो दोस्तों क्या इसका कोई समाधान है? –

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