मैं काफी समय से इस पर शोध कर रहा हूं और मैं यही काम करने की कोशिश कर रहा हूं, इसलिए उम्मीद है कि यह किसी और की मदद करेगा। मैं crossbrowsertesting.com का उपयोग कर रहा हूं और सचमुच में इसका परीक्षण हर आदमी को ज्ञात है। वर्तमान में मुझे जो समाधान मिला है वह ओपेरा, क्रोम, फ़ायरफ़ॉक्स 3.5+, IE8 +, iPhone 3GS, iPhone 4, iPhone 4s, iPhone 5, iPhone 5s, iPad 1+, Android 2.3+, Windows Phone 8 में काम करता है।
गतिशील रूप से बदलते स्रोत
डायनामिक रूप से वीडियो को बदलना बहुत मुश्किल है, और यदि आप एक फ्लैश बैकबैक चाहते हैं, तो आपको वीडियो को DOM / पेज से हटाना होगा और इसे फिर से जोड़ना होगा, ताकि फ्लैश अपडेट हो जाए क्योंकि फ्लैश डायनेमिक अपडेट को Flash vars को नहीं पहचानेगा। आप जावास्क्रिप्ट का उपयोग करने के लिए यह गतिशील रूप से परिवर्तित करने के लिए जा रहे हैं, मैं पूरी तरह से सब हटा <source>
तत्वों और बस का उपयोग canPlayType
निर्धारित करने के लिए src
जावास्क्रिप्ट में और break
या return
पहले समर्थित वीडियो प्रकार के बाद और मत भूलना गतिशील फ़्लैश वर mp4 अद्यतन करने के लिए। जब तक आप कॉल नहीं करते, तब भी कुछ ब्राउज़र पंजीकृत नहीं होंगे video.load()
। मेरा मानना है कि .load()
आपके साथ जो समस्या आ रही थी, उसे पहले कॉल करके ठीक किया जा सकता हैvideo.pause()
। वीडियो तत्वों को निकालना और जोड़ना ब्राउज़र को धीमा कर सकता है क्योंकि यह हटाए गए वीडियो को बफर करना जारी रखता है, लेकिन एक वर्कअराउंड है ।
क्रॉस-ब्राउज़र समर्थन
जहां तक वास्तविक क्रॉस-ब्राउजर भाग की बात है, मैं वीडियो फॉर एवरीबॉडी के रूप में अच्छी तरह से आया था । मैंने पहले ही MediaelementJS Wordpress plugin की कोशिश की, जो हल होने की तुलना में बहुत अधिक मुद्दों का कारण बना। मुझे संदेह है कि मुद्दे वर्डप्रेस प्लग-इन और वास्तव में लाइब्रेरी के कारण थे। यदि संभव हो तो मैं जावास्क्रिप्ट के बिना काम करने वाली चीज़ खोजने की कोशिश कर रहा हूं। अब तक, मैं इस सादे HTML के साथ आया हूँ:
<video width="300" height="150" controls="controls" poster="http://sandbox.thewikies.com/vfe-generator/images/big-buck-bunny_poster.jpg" class="responsive">
<source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.ogv" type="video/ogg" />
<source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4" />
<source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.webm" type="video/webm" />
<source src="http://alex-watson.net/wp-content/uploads/2014/07/big_buck_bunny.iphone.mp4" type="video/mp4" />
<source src="http://alex-watson.net/wp-content/uploads/2014/07/big_buck_bunny.iphone3g.mp4" type="video/mp4" />
<object type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" width="561" height="297">
<param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" />
<param name="allowFullScreen" value="true" />
<param name="wmode" value="transparent" />
<param name="flashVars" value="config={'playlist':['http://sandbox.thewikies.com/vfe-generator/images/big-buck-bunny_poster.jpg',{'url':'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4','autoPlay':false}]}" />
<img alt="No Video" src="http://sandbox.thewikies.com/vfe-generator/images/big-buck-bunny_poster.jpg" width="561" height="297" title="No video playback capabilities, please download the video below" />
</object>
<strong>Download video:</strong> <a href="video.mp4">MP4 format</a> | <a href="video.ogv">Ogg format</a> | <a href="video.webm">WebM format</a>
</video>
महत्वपूर्ण नोट :
- पहले ओग को डालते हुए समाप्त कर दिया
<source>
क्योंकि मैक ओएस फ़ायरफ़ॉक्स वीडियो चलाने की कोशिश कर रहा है अगर यह पहली बार एक MP4 का सामना करता है <source>
।
- सही MIME प्रकार महत्वपूर्ण हैं .ogv फ़ाइलें होनी चाहिए
video/ogg
, नहीं video/ogv
- यदि आपके पास एचडी वीडियो है, तो मुझे एचडी गुणवत्ता ओजीजी फ़ाइलों के लिए मिला सबसे अच्छा ट्रांसकोडर फायरफॉग है
.iphone.mp4
फ़ाइल iPhone 4 के लिए जो होगा केवल वीडियो के साथ 264 बेसलाइन 3 वीडियो और AAC ऑडियो एमपीईजी -4 रहे हैं खेलते हैं। उस प्रारूप के लिए मुझे मिला सबसे अच्छा ट्रांसकोडर है हैंडब्रेक, iPhone और iPod टच प्रीसेट का उपयोग करके iPhone 4+ पर काम करेगा, लेकिन iPhone 3GS प्राप्त करने के लिए आपको iPod प्रीसेट का उपयोग करने की आवश्यकता है, जिसमें बहुत कम रिज़ॉल्यूशन है जो मैंने जोड़ा है video.iphone3g.mp4
।
- भविष्य में हम मीडिया प्रश्नों के साथ मोबाइल उपकरणों को लक्षित करने के
media
लिए <source>
तत्वों पर एक विशेषता का उपयोग करने में सक्षम होंगे , लेकिन अभी पुराने एप्पल और एंड्रॉइड डिवाइस इसे अच्छी तरह से समर्थन नहीं करते हैं।
संपादित करें :
- मैं अभी भी हर किसी के लिए वीडियो का उपयोग कर रहा हूं, लेकिन अब मैंने फ्लैशपबैक को नियंत्रित करने के लिए फ्लोप्लेयर का उपयोग करने के लिए संक्रमण किया है, जिसमें एक भयानक जावास्क्रिप्ट एपीआई है जिसे इसे नियंत्रित करने के लिए इस्तेमाल किया जा सकता है।