मैंने एवीएफएंडेशन के साथ ओपनजीएल बनावट में फ्रेम द्वारा फिल्म फ्रेम का एक वीडियो ट्रैक लोड करने में कामयाब रहा है। मैं चरणों जवाब यहाँ में वर्णित का पालन किया: iOS4: how do I use video file as an OpenGL texture? और WWDC2010 से GLVideoFrame नमूना यहाँ डाउनलोड किया जा सकता है जहाँ से आप कुछ कोड ले लिया: http://bit.ly/cEf0rMAVFoundation: ओपनजीएल बनावट के लिए वीडियो काम करना - ऑडियो कैसे खेलें और सिंक करें?
मैं कैसे वीडियो के लिए तुल्यकालिक फिल्म के ऑडियो ट्रैक खेलते हैं। मुझे लगता है कि इसे एक अलग खिलाड़ी में खेलने का अच्छा विचार नहीं होगा, लेकिन उसी AVAsset
के ऑडियो ट्रैक का उपयोग करना होगा।
AVAssetTrack* audioTrack = [[asset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];
मैं एक videoframe निकालते हैं और यह
CMSampleBufferRef sampleBuffer = [self.readerOutput copyNextSampleBuffer];
CMTime timestamp = CMSampleBufferGetPresentationTimeStamp(sampleBuffer);
के माध्यम से CADisplayLink-कॉलबैक में टाइमस्टैम्प है जहां readerOutput
प्रकार AVAssetReaderTrackOutput*
कैसे इसी ऑडियो नमूने प्राप्त करने की है? और उन्हें कैसे खेलें?
संपादित करें:
मैं थोड़ा के आसपास देखा है और मुझे लगता है, सबसे अच्छा तरीका यहाँ वर्णित का उपयोग कर AudioToolbox.framework से AudioQueue
उपयोग करने के लिए होगा: AVAssetReader and Audio Queue streaming problem
वहाँ भी एक है AVFoundation में ऑडियो प्लेयर: AVAudioPlayer
। लेकिन मुझे नहीं पता कि मुझे डेटा initWithData
पर डेटा कैसे पास करना चाहिए- प्रारंभकर्ता जो NSData
की अपेक्षा करता है। इसके अलावा मुझे नहीं लगता कि यह मेरे मामले के लिए सबसे अच्छा विकल्प है क्योंकि एक नया AVAudioPlayer
- ऑडियो नमूने के हर नए हिस्से के लिए इंस्टेंस को बनाना होगा, जैसा कि मैं समझता हूं।
कोई अन्य सुझाव? कच्चे ऑडियो नमूने को चलाने का सबसे अच्छा तरीका क्या है जो मुझे AVAssetReaderTrackOutput
से मिलता है?
आप कभी भी इस के साथ कहीं भी मिली थी? – RyanSullivan
मेरा समाधान ओपनजीएल के लिए फ्रेम को पकड़ने के लिए AVAssetReader के साथ फिल्म खोलना था, और साथ ही साथ एक ही मूवी फ़ाइल को AVAudioPlayer के साथ खोलें और दोनों एक साथ शुरू करें। यह एक अच्छा समाधान नहीं है लेकिन ऑडियो और वीडियो काफी सिंक हैं। तब से मेरे पास बेहतर समाधान पर काम करने का कोई समय नहीं था। – j00hi
मैं AVAudioPlayer का भी उपयोग कर रहा हूं लेकिन ऑडियो सिंक बहुत अच्छा नहीं है। असली समाधान होने से बेहतर होगा। –