2012-02-05 15 views
25

के लिए वीडियो स्नैपशॉट प्राप्त करना मैं सेब से प्रदान किए गए AVCam कोड का उपयोग कर आईफोन कैमरा से एक वीडियो रिकॉर्ड कर रहा हूं।थंबनेल

वीडियो रिकॉर्ड होने के बाद इसे फ़ोटो लाइब्रेरी में सहेजा जाता है।

फिर एक नया दृश्य लोड किया गया है, यहां मुझे वीडियो का एक छवि थंबनेल होना चाहिए।

file://localhost/private/var/mobile/Applications/ED45DEFC-ABF9-4A5E-9102-21680CC1448E/tmp/output.mov 

मैं कैसे वीडियो के पहले फ्रेम एक झलक के रूप में उपयोग करने के लिए प्राप्त करने के लिए समझ नहीं कर पा रहे:

मैं वीडियो के लिए एक रास्ता है।

किसी भी मदद की बहुत सराहना की जाएगी और आपके समय के लिए धन्यवाद।


संपादित

मैं इस का उपयोग कर समाप्त हो गया, मुझे यकीन है कि क्यों यह छवि बग़ल में रिटर्न नहीं कर रहा हूँ?

- (UIImage*)loadImage { 

    AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:vidURL options:nil]; 
    AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset]; 
    NSError *err = NULL; 
    CMTime time = CMTimeMake(1, 60); 
    CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err]; 
    NSLog(@"err==%@, imageRef==%@", err, imgRef); 

    return [[UIImage alloc] initWithCGImage:imgRef]; 

} 

उत्तर

45

करने के लिए ठीक थंबनेल उन्मुखीकरण AVAssetImageGenerator उदाहरण में YES करने के लिए appliesPreferredTrackTransform निर्धारित किया है। यदि आप अपनी खुद की वीडियो संरचना जोड़ते हैं, तो आपको वांछित वीडियो को घुमाने के लिए सही ट्रांसफॉर्म शामिल करना होगा।

generate.appliesPreferredTrackTransform = YES; 

CGImageRelease के साथ प्राप्त की छवि संदर्भ को रिलीज करने के लिए याद रखें।

एकाधिक थंबनेल का अनुरोध करने के लिए generateCGImagesAsynchronouslyForTimes:completionHandler: के साथ असीमित रूप से करना बेहतर है।

+0

+1 बिल्कुल सही, धन्यवाद !!! – bentford

+0

+1 वही है जो मैं जोड़ना चाहता था! :) –

+0

मुझे एक त्रुटि देता है AVErrorOperationNotSupportedForAsset। कृपया मदद करें – ruyamonis346

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