2012-07-20 30 views
8

का उपयोग कर वैकल्पिक ऑडियो धाराओं के बीच स्विच करने के लिए कैसे करें मेरे पास एक परीक्षण अनुप्रयोग है जो m3u8 एचएलएस प्लेलिस्ट द्वारा निर्दिष्ट वीडियो चलाने के लिए AVPlayer का उपयोग करता है। प्लेलिस्ट में कई वैकल्पिक ऑडियो स्ट्रीम निर्दिष्ट किए गए हैं, जैसा कि ऐप्पल द्वारा प्रदान की गई "लिस्टिंग 10" नमूना प्लेलिस्ट के समान है: http://developer.apple.com/library/ios/#technotes/tn2288/_index.html#//apple_ref/doc/uid/DTS40012238-CH1-ALTERNATE_MEDIA ऐप को वीडियो चलते समय वैकल्पिक ऑडियो स्ट्रीम के बीच स्विच करने में सक्षम होना चाहिए। उदाहरण के लिए, ऐप वीडियो चलाते समय ऐप में उपयोगकर्ता टैप करने वाले बटन द्वारा अंग्रेजी, फ़्रेंच और स्पेनिश ऑडियो धाराओं में स्विच करने में सक्षम होना चाहिए।AVPlayer

एवीप्लेयर कक्षाओं और विधियों का उपयोग AVPlayer और इसकी संबंधित ऑब्जेक्ट्स द्वारा m3u8 प्लेलिस्ट में निर्दिष्ट ऑडियो स्ट्रीम के बीच स्विच करने के लिए किया जाएगा? मैंने AVFoundation क्लास प्रलेखन को देखा है लेकिन यह नहीं देखना है कि यह कैसे करें।

कुछ नमूना कोड का एक लिंक जो दिखाता है कि यह कैसे करना अच्छा होगा। मैं सफलता के बिना इस जानकारी के लिए वेब खोज रहा हूं। इस के साथ किसी भी मदद के लिए धन्यवाद।

+0

मैं इसके बारे में भी उत्सुक हूं, लेकिन "लिस्टिंग 12" के समान वैकल्पिक वीडियो के लिए: http://developer.apple.com/library/ios/#technotes/tn2288/_index.html। मुझे लगता है कि जो भी जवाब आपको मिलेगा वह मेरी मदद करेगा – user1636983

उत्तर

18

एवीप्लेयर के साथ m3u8 प्लेबैक के लिए, ऐसा लगता है कि आप AVAlayerItem बनाने के लिए AVAsset का उपयोग नहीं कर सकते हैं। आपको सीधे यूआरआई से AVPlayerItem बनाने की आवश्यकता है। इस AVPlayerItem के साथ एवीप्लेयर को तुरंत चालू करने के बाद, और फिर केवीओ संपत्ति @ "स्थिति" पर सुनते हुए, यदि स्थिति AVPlayerStatusReadyToPlay है तो आपके पास [[avPlayerInstance currentItem] asset] के भीतर एक संपत्ति होगी। यह AV Foundation Programming Guide के पृष्ठ 20 पर वर्णित है। साथ

AVMediaSelectionGroup *audioSelectionGroup = [[[avPlayerInstance currentItem] asset] mediaSelectionGroupForMediaCharacteristic: AVMediaCharacteristicAudible]; 

NSLog(@"audioSelectionGroup: %@", audioSelectionGroup); 

// [audioSelectionGroup options] // Array of the options in the group above. 

और चुनें AVMediaSelectionOption (ऑडियो चैनल आप चाहते हैं):

करने के लिए विभिन्न विकल्पों का उपयोग ऑडियो को बदलने के लिए

[[avPlayerInstance currentItem] selectMediaOption:avMediaSelectionOptionInstance] inMediaSelectionGroup: audioSelectionGroup]; 

एक ही वीडियो के लिए काम करेंगे।

यह AV Foundation Release Notes for IOS 5 (तीसरा खंड) के "भाषा और अन्य मानदंडों के अनुसार" ऑडियो और उपशीर्षक मीडिया का चयन "में वर्णित है।

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