मैं एक मूल एंड्रॉइड एप्लिकेशन पर काम कर रहा हूं जो एचएलएस वीडियो स्ट्रीम करता है। मैं प्रदर्शित करने के लिए सीईए -608 बंद कैप्शन डेटा प्राप्त करने की कोशिश कर रहा हूं, लेकिन मैं एक समस्या में भाग रहा हूं।एंड्रॉइड पर एचएलएस धाराओं के लिए बंद कैप्शन प्रस्तुत करना
पद्धति: मैं एक जेली बीन डिवाइस (एपीआई 4.1+) है, जो बंद कैप्शन और एचएलएस प्लेबैक (http://developer.android.com/about/versions/android-4.1.html#Multimedia) का समर्थन करता है पर चल रहा हूँ।
टेस्ट फ़ीड: मैं एप्पल नमूना एचएलएस BIP-बॉप फ़ीड कि कैप्शन डेटा होता है (https://devimages.apple.com.edgekey.net/resources/http-streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8)
हथियाने कैप्शन डेटा का उपयोग कर परीक्षण कर रहा हूँ: Android दस्तावेज़ के अनुसार, मैं कर रहा हूँ फोन करके कैप्शन ट्रैक प्राप्त करने का प्रयास:
"MediaPlayer.getTrackInfo()"
समस्या: खिलाड़ी दुर्घटनाओं जब मैं getTrackInfo() लाइन पर अमल, LogCat में निम्नलिखित उत्पादन के साथ:
ई/AndroidRuntime (7311): गंभीर अपवाद: मुख्य ई/AndroidRuntime (7311): java.lang.RuntimeException: विफलता कोड: -38
सवाल: 1) एक एचएलएस फ़ीड पर इन-स्ट्रीम शीर्षक डेटा से बंद शीर्षक प्रतिपादन देशी Android क्षुधा में समर्थित है? 2) यदि नहीं, तो क्या विकल्प हैं? 3) उपरोक्त लिंक (नीचे उद्धृत) में प्रलेखन इंगित करता है कि MP4 या 3GPP मीडिया स्रोतों पर इन-स्ट्रीम कैप्शन समर्थित हैं। क्या यह आवश्यक रूप से एचएलएस को छोड़ देता है (जो मुझे लगता है कि एमपीईजी -2 आधारित है) काम करने से?
मीडियाप्लेयर अब इन-बैंड और आउट-ऑफ-बैंड टेक्स्ट ट्रैक दोनों को संभालता है। इन-बैंड टेक्स्ट ट्रैक MP4 या 3GPP मीडिया स्रोत के भीतर टेक्स्ट ट्रैक के रूप में आते हैं। आउट-ऑफ-बैंड टेक्स्ट ट्रैक को बाहरी टेक्स्ट स्रोत के रूप में addTimedTextSource() विधि के माध्यम से जोड़ा जा सकता है। सभी बाहरी टेक्स्ट ट्रैक स्रोत जोड़े जाने के बाद, डेटा स्रोत में सभी उपलब्ध पटरियों की ताज़ा सूची प्राप्त करने के लिए getTrackInfo() को कॉल किया जाना चाहिए।
आपकी सहायता के लिए धन्यवाद!
क्या आपको पता है कि एंड्रॉइड के नए संस्करण वेबवीटीटी उपशीर्षक का समर्थन करते हैं जिन्हें हाल ही में एचएलएस ड्राफ्ट स्पेक में जोड़ा गया था? – vipw