मेरे पास एक ऐप है जो वीडियो रिकॉर्ड करता है। ऐप कोकोस 2 डी और यूआईकिट का मिश्रण है हालांकि UIImagePickerController का उपयोग करने वाला हिस्सा सभी UIKit है।UIImagePickerController अंततः "उपयोग" बटन टैप करने के बाद प्रतिक्रिया देना बंद कर देता है
समस्या: वीडियो लेने के बाद, जब आप "उपयोग करें" बटन टैप करते हैं, तो बटन चयनित स्थिति में बदल जाता है और फिर कुछ भी नहीं होता है। "रीटेक" बटन अक्षम है। आप अभी भी वीडियो चला सकते हैं/रोक सकते हैं लेकिन दृश्य कभी खारिज नहीं होता है और - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
कभी नहीं कहा जाता है।
समस्या लंबी और छोटी (< 5 सेकंड) वीडियो पर होती है। स्मृति चेतावनियों के कारण इस मुद्दे को पुन: उत्पन्न नहीं किया गया। छवि पिकर लॉन्च करने से पहले ऑडियो सत्र बदलना इस मुद्दे को पुन: उत्पन्न नहीं करता था।
मैं इस मुद्दे का कारण बनने में असमर्थ रहा हूं। यह कभी-कभी होता है। कोई विचार?
यहाँ कोड है कि UIImagePickerController
UIImagePickerController *tmpVC = [[UIImagePickerController alloc] init];
tmpVC.delegate = self;
tmpVC.allowsEditing = YES;
// First get the right media types for the right source
NSArray *types = nil;
if (useCamera)
{
types = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
tmpVC.sourceType = UIImagePickerControllerSourceTypeCamera;
}
else
{
types = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
tmpVC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
}
// Then see if "movie" is in there
for (NSString *mediaType in types)
{
if ([mediaType isEqualToString:(NSString*)kUTTypeMovie])
{
tmpVC.mediaTypes = [NSArray arrayWithObjects:(NSString*)kUTTypeImage,(NSString*)kUTTypeMovie,nil];
tmpVC.videoQuality = UIImagePickerControllerQualityTypeHigh;
}
}
// Present the configured controller
[self presentModalViewController:tmpVC animated:YES];
[tmpVC release];
मुझे एक ऐप में एक ही समस्या दिखाई दे रही है जो केवल UIKit है, लेकिन केवल एक (आईओएस 5) डिवाइस पर; एक और (आईओएस 4) ठीक काम करता है। –
चूंकि आपका प्रश्न बहुत अधिक विवरण नहीं है और कोड का केवल 1 स्निपेट दिखा रहा है, मैं जवाब के बजाय टिप्पणी करूंगा। "कभी-कभी" सुझाव देता है कि इसे थ्रेडिंग (मैनुअल या स्वचालित) के साथ करना है। एक चीज जो मैं कोशिश करूंगा वह इस लाइन को हटा रहा है '[tmpVC रिलीज]; '। एक और बात यह है कि, सुनिश्चित करें कि प्रतिनिधि सही ढंग से सेट है। 'ImagePickerController' में देखें और लॉग/ब्रेकपॉइंट डालें। फिर डीबग में क्या होता है इसके माध्यम से कदम। यदि आप अधिक विशिष्ट उत्तर चाहते हैं, तो आपको अपने प्रश्न पर अधिक जानकारी प्राप्त करने की आवश्यकता है। – Byte
यदि आप प्रोजेक्ट साझा कर सकते हैं, तो इससे मदद मिल सकती है। – Swizzlr