मैं निम्नलिखित सूत्र में कोड के आधार पर कोड का उपयोग कर रहा एक वीडियो थंबनेल उत्पन्न करने के लिए:वीडियो थंबनेल बना रहा है - में सुधार की गति प्रदर्शन - AVAsset - iPhone
Getting a thumbnail from a video url or data in iPhone SDK इस प्रकार
मेरे कोड है के रूप में:
if (selectionType == kUserSelectedMedia) {
NSURL * assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];
AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:assetURL options:nil];
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generator.appliesPreferredTrackTransform=TRUE;
[asset release];
CMTime thumbTime = CMTimeMakeWithSeconds(0,30);
//NSLog(@"Starting Async Queue");
AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef im, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error){
if (result != AVAssetImageGeneratorSucceeded) {
NSLog(@"couldn't generate thumbnail, error:%@", error);
}
//NSLog(@"Updating UI");
selectMediaButton.hidden = YES;
selectedMedia.hidden = NO;
cancelMediaChoiceButton.hidden = NO;
whiteBackgroundMedia.hidden = NO;
//Convert CGImage thumbnail to UIImage.
UIImage * thumbnail = [UIImage imageWithCGImage:im];
int checkSizeW = thumbnail.size.width;
int checkSizeH = thumbnail.size.height;
NSLog(@"Image width is %d", checkSizeW);
NSLog(@"Image height is %d", checkSizeH);
if (checkSizeW >=checkSizeH) {
//This is a landscape image or video.
NSLog(@"This is a landscape image - will resize automatically");
}
if (checkSizeH >=checkSizeW) {
//This is a portrait image or video.
selectedIntroHeight = thumbnail.size.height;
}
//Set the image once resized.
selectedMedia.image = thumbnail;
//Set out confirm button BOOL to YES and check if we need to display confirm button.
mediaReady = YES;
[self checkIfConfirmButtonShouldBeDisplayed];
//[button setImage:[UIImage imageWithCGImage:im] forState:UIControlStateNormal];
//thumbImg=[[UIImage imageWithCGImage:im] retain];
[generator release];
};
CGSize maxSize = CGSizeMake(320, 180);
generator.maximumSize = maxSize;
[generator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:thumbTime]] completionHandler:handler];
}
}
समस्या यह है कि थंबनेल छवि उत्पन्न करने में लगभग 5-10 सेकंड की देरी हो रही है। क्या वैसे भी है कि मैं इस कोड की गति में सुधार कर सकता हूं और थंबनेल को तेज कर सकता हूं?
धन्यवाद।
अधिक तेज - धन्यवाद। – GuybrushThreepwood
+1 इससे मुझे – Charan
में मदद मिली है, मुझे इस यूआरएल के लिए थंबनेल नहीं मिल रहा है: http://www.sciencentral.com/news/image_db/2024515/NNM2212_AntPower_MSTR.mov .. क्या आप कृपया जांच सकते हैं? – parilogic