avfoundation - Need hints for using iPhone SDK's AVMutableVideoComposition -
AVFoundation फ्रेमवर्क AVMutableVideoComposition वर्ग प्रदान करता है (AVVideoComposition के परिवर्तनीय संस्करण)। ऐसा लगता है कि आप CoreAnimations को सीधे इस क्लास के एक उदाहरण के लिए एक वीडियो बनाने के लिए प्रस्तुत कर सकते हैं, लेकिन मुझे नहीं पता कि संरचना को किसी फ़ाइल में कैसे सहेजना है या इसके साथ कैसे काम करना है, वास्तव में एक UIViewController से बुलाया निम्नलिखित कोड रचना और एनीमेशन बनाने के लिए काम करने के लिए प्रतीत होता है लेकिन, फिर, ठीक है, मैं संरचना के साथ काम करने के तरीके के रूप में स्टम्प्ड हूं। कोई भी मदद या मार्गदर्शन काफी सराहना की जाती है।
<प्री> स्थिर AVMutableVideoComposition * videoComposition = शून्य; - (शून्य) एनीमेशनएडसटॉप: (सीएएनिमेशन *) एनीमेशन समाप्त हो गया है: (BOOL) फ्लैग {// वीडियो के साथ कुछ करेंसंयोजन यहाँ ... इसे किसी फ़ाइल में कैसे सहेजना है? एनएसएलॉग (@ "वीडियो कॉमपोज़शन:% @", वीडियो कॉमपोजीशन); [वीडियो कॉम्प्रेशन रिलीज़]; VideoComposition = शून्य; } - (IBAction) बनाओडिओ कॉमपोज़शन: (आईडी) प्रेषक {AVVideoCompositionCoreAnimationTool * videoCompositionCoreAnimationTool = [AVVideoCompositionCoreAnimationTool वीडियो कॉमपोज़ेशनकोर ऍनिमेशनटूलविथपोस्ट प्रोसेसिंगएस्विडियोलेयर: self.view.layer inLayer: self.view.layer]; वीडियो कॉमपोज़शन = [[एवीएमयूटीएबल वीडियो कॉमपोज़शन वीडियो कॉमपोज़ेशन] बनाए रखा गया है); [वीडियो कॉमपोज़न सेटरेंडर साइज़: सीजीएसइज़मेक (320.0, 480.0)]; [वीडियो कॉमपोज़न सेटरेंडर स्केलेकः 1.0]; [वीडियो कॉमपोज़न सेटफ़्रेम डिरैशन: सीएमटीमेममेक (1, 10)]; [वीडियो कॉमपोज़शन सेटएनिमेशनटूल: वीडियो कॉमपेशंसकोर एनीमेशनटूल]; // नियंत्रक के दृश्य को हिलाएं करने के लिए मूल एनीमेशन जोड़ें CAKeyframeAnimation * shakeAnimation = [CAKeyframeAnimation animationWithKeyPath: @ "position"]; शेकएनिमेशन.लिगेट = स्व; शेक एनीमेशन। निकाला गयाआवेदन = हाँ; ShakeAnimation.duration = 0.5; CGMutablePathRef पथ = CGPathCreateMutable (); CGFloat midX = self.view.center.x; CGFloat midy = self.view.center.y; CGPathMoveToPoint (मार्ग, शून्य, मिडएक्स, मिडी); CGPathAddLineToPoint (पथ, शून्य, मध्यम + 10.0, मिडी); CGPathAddLineToPoint (पथ, शून्य, मिडएक्स -20.0, मिडी); CGPathAddLineToPoint (मार्ग, शून्य, मिडएक्स + 15.0, मिडी); CGPathAddLineToPoint (पथ, शून्य, मिडएक्स - 5.0, मिडी); CGPathAddLineToPoint (मार्ग, शून्य, मिडएक्स, मिडी); शेक एनीमेशन.path = पथ; CFRelease (पथ); [Self.view.layer addAnimation: shakeAnimation forKey: @ "शेक एनीमेशन"]; }
धन्यवाद, जॉन
सुनिश्चित नहीं है कि यह मदद करता है
<पूर्व> AVAssetExport सत्र * सत्र = [[एवीएसेटएक्सपोर्टसेशन alloc] initWithAsset: रचना प्रीसेटनाम: AVAssetExportPresetHighestQuality]; Session.videoComposition = वीडियो कॉमपोज़शन; Session.outputURL = outputURL; Session.outputFileType = AVFileTypeQuickTimeMovie; [सत्र निर्यातसमयसंकेतिक रूप से समाप्तीहैंडलर: ^ (शून्य) {एनएसएलॉग (@ "टाडा!")}];
Comments
Post a Comment