2011-08-27 14 views
16

मैंने एवीएफएंडेशन के साथ ओपनजीएल बनावट में फ्रेम द्वारा फिल्म फ्रेम का एक वीडियो ट्रैक लोड करने में कामयाब रहा है। मैं चरणों जवाब यहाँ में वर्णित का पालन किया: 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 से मिलता है?

+0

आप कभी भी इस के साथ कहीं भी मिली थी? – RyanSullivan

+0

मेरा समाधान ओपनजीएल के लिए फ्रेम को पकड़ने के लिए AVAssetReader के साथ फिल्म खोलना था, और साथ ही साथ एक ही मूवी फ़ाइल को AVAudioPlayer के साथ खोलें और दोनों एक साथ शुरू करें। यह एक अच्छा समाधान नहीं है लेकिन ऑडियो और वीडियो काफी सिंक हैं। तब से मेरे पास बेहतर समाधान पर काम करने का कोई समय नहीं था। – j00hi

+0

मैं AVAudioPlayer का भी उपयोग कर रहा हूं लेकिन ऑडियो सिंक बहुत अच्छा नहीं है। असली समाधान होने से बेहतर होगा। –

उत्तर

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