क्या मैं iPhone या एंड्रॉइड पर HTML5 के साथ देशी फुलस्क्रीन वीडियो प्लेयर से बच सकता हूं?


130

मैंने एक वेब ऐप बनाया है जो HTML5 टैग और जावास्क्रिप्ट कोड का उपयोग करता है जो चल रहे वीडियो के साथ सिंक्रनाइज़ अन्य सामग्री को प्रस्तुत करता है। यह डेस्कटॉप ब्राउज़रों में बहुत अच्छा काम करता है: फ़ायरफ़ॉक्स, क्रोम और सफारी। एक iPhone या DroidX पर, देशी वीडियो प्लेयर पॉप अप करता है और स्क्रीन पर ले जाता है, इस प्रकार अन्य गतिशील सामग्री को अस्पष्ट करता है जिसे मैं वीडियो के साथ प्रदर्शित करना चाहता हूं।

क्या इसके आसपास कोई रास्ता है? यदि आवश्यक हो, तो मैं यह पता लगाऊंगा कि उन दोनों प्लेटफार्मों के लिए देशी एप्लिकेशन कैसे लिखें, लेकिन अगर मैं सिर्फ एचटीएमएल 5 / जावास्क्रिप्ट के साथ रह सकता हूं, तो यह मुझे एक टन की बचत करेगा।


1
दरअसल, ios और android दोनों में a / v प्लेयर्स के ब्राउजर इंप्लिमेंटेशन नरक की तरह छोटी गाड़ी हैं। पृष्ठ पर कई खिलाड़ियों को आज़माएं या उनके लिए स्टाइलिश नियंत्रण जोड़ने का प्रयास करें और आप देखेंगे - इसकी अनुपयोगी। तो, शायद वीडियो खेलने के लिए बाहरी फुलस्क्रीन ऐप - इतना बुरा नहीं है;)
tuxSlayer

1
मुझे खुशी है कि हर बार ऐप्पल डिवाइस मेरी सामग्री को इच्छित तरीके से प्रस्तुत करते हैं। मैं उसे मनाने के लिए उपयोग करता हूं।
एंडर्स लिंडन

तकनीकी रूप से नहीं, लेकिन कुछ युगल पुस्तकालय उपलब्ध हैं जो इसे संभव बनाते हैं, जैसे iphone-inline-video (प्रकटीकरण: मैंने इसे लिखा है)
fregante

जवाबों:


74

IOS 10+ में

Apple ने playsinlineiOS 10 पर सभी ब्राउज़रों में विशेषता सक्षम की , इसलिए यह मूल रूप से काम करता है:

<video src="file.mp4" playsinline>

IOS 8 और iOS 9 में

संक्षिप्त उत्तर: iphone- इनलाइन-वीडियो का उपयोग करें , यह इनलाइन प्लेबैक को सक्षम करता है और ऑडियो को सिंक करता है।

लंबे उत्तर: आप वास्तव में 'आईएनजी' के बजाय वीडियो को स्किम करके प्लेबैक को अनुकरण करके इस मुद्दे के आसपास काम कर सकते .play()हैं।


यह कैप्टिव नेटवर्क असिस्टेंट (कैप्टिव पोर्टल) में काम नहीं करता है
डोमिनिक वोग

54

IOS वेब ब्राउज़र में लाइन मीडिया प्लेबैक में सक्षम / अक्षम करने वाली एक संपत्ति है (यदि आप एक मूल ऐप लिख रहे थे, तो यह allowsInlineMediaPlaybackUIWebView की संपत्ति होगी )। IPhone पर डिफ़ॉल्ट रूप से यह सेट है NO, लेकिन iPad पर यह सेट है YES

सौभाग्य से, आप इस व्यवहार को HTML में भी समायोजित कर सकते हैं:

<video id="myVideo" width="280" height="140" webkit-playsinline>

... कि उम्मीद है कि आप के लिए इसे हल करना चाहिए। मुझे नहीं पता कि यह आपके एंड्रॉइड डिवाइस पर काम करेगा। यह एक वेबकिट संपत्ति है, इसलिए यह हो सकता है। एक तरह से लायक है, वैसे भी।


25
सलाह के लिये धन्यवाद। दुर्भाग्य से, इसने मेरे द्वारा देखे जाने वाले व्यवहार को नहीं बदला - पूर्ण-स्क्रीन देशी वीडियो प्लेयर iPhone और DroidX दोनों पर पॉप अप होते हैं।
अल्पाइनकर

5
मैं इस मुद्दे को भी कर रहा हूँ। मैंने वेबकिट-प्लेसिनलाइन और यहां तक ​​कि xml वेबकिट-प्लेसिनलाइन = "वेबकिट-प्लेसिनलाइन" के संस्करण को भी जोड़ा है, लेकिन व्यवहार में बदलाव नहीं करता है
माइक

7
यह iPhone के लिए सफारी में काम नहीं कर सकता क्योंकि वेब दृश्य इनलाइन वीडियो प्लेबैक की अनुमति नहीं देता है। यदि हालाँकि, वेबपेज को आपके स्वयं के ऐप के भीतर आपके स्वयं के UIWebView में होस्ट किया गया है, तो आप इन गुणों को सेट कर सकते हैं और इनलाइन वीडियो प्लेबैक संभव हो जाएगा: webview.allowsInlineMediaPlayback = YES; webview.mediaPlaybackRequiresUserAction = NO;
विलिस्टर

14
यह कॉर्डोवा / फोनगैप में भी काम करता है। बस कॉर्डोवा परियोजना में अपने config.xml को निम्नलिखित जोड़ें:<preference name="AllowInlineMediaPlayback" value="true" />
श्री टीए

3
<वरीयता नाम = "AllowInlineMediaPlayback" मान = "सत्य" /> महान! यह मेरे iPhone पर ठीक काम करता है। बहुत बहुत धन्यवाद।
sirius2013

41

पुराना उत्तर (2016 तक लागू)

यहाँ एक Apple डेवलपर लिंक है जो स्पष्ट रूप से कहता है कि -

iPhone और iPod टच पर, जो छोटे स्क्रीन डिवाइस हैं, "वीडियो वेब पेज के भीतर प्रस्तुत नहीं किया गया है"

सफारी डिवाइस-विशिष्ट विचार

आपके विकल्प :

  • यह webkit-playsinlineविशेषता iOS पर HTML5 वीडियो के लिए काम करती है, लेकिन जब आप वेबपेज को अपने होम स्क्रीन पर वेबएप के रूप में सहेजते हैं - तब नहीं जब सफारी में एक पेज खोला जाता है
  • एक देशी (या HTML, सीएसएस, जे एस के साथ एक संकर एप्लिकेशन) एक WebView के साथ अनुप्रयोग के लिए UIWebViewवीडियो इनलाइन खेलने की अनुमति देता है, लेकिन केवल तभी जब आप सेट allowsInlineMediaPlaybackसंपत्ति के लिए UIWebViewसही करने के लिए वर्ग

1
स्वीकृत उत्तर के लिए मेरी टिप्पणियाँ देखें। आईसीवाईएमआई, कोर्डोवा के लिए, निम्नलिखित को अपने config.xml में जोड़ें:<preference name="AllowInlineMediaPlayback" value="true" />
श्री टीए

YouTube.com पर यह बिना फुलस्क्रीन के चलेगी
एंथनी

जवाब पुराना है, 2014, और चीजें बदल सकती हैं। इसके अलावा, youtube.com एक नेटिव ऐप नहीं है जिसका वेबव्यू के साथ उत्तर में उल्लेख किया गया है। हालांकि ध्यान देने के लिए धन्यवाद।
किंगजुलियन


11

इस पृष्ठ के अनुसार https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html यह केवल तभी उपलब्ध है यदि (UIWebView में केवल AllowInlineMediaPlayback संपत्ति से YES पर सेट है)। ) मैं मोबाइल सफारी में समझता हूं कि यह iPad और iPhone और iPod टच पर YES है।


4
ऐसा लगता है कि यह केवल तभी काम करेगा जब आप एक देशी iOS ऐप को "लाइव इन" करने के लिए एक HTML5 प्लेयर पेज सेट कर रहे थे। यह निश्चित रूप से एक सादे ol 'वेबपेज पर काम नहीं करता है।
natlee75

9

मैं Android के बारे में नहीं जानता, लेकिन iPhone या iPod टच पर सफारी छोटे स्क्रीन आकार के कारण सभी वीडियो को पूर्ण स्क्रीन पर चलाऊंगा। IPad पर यह पृष्ठ पर वीडियो चलाएगा लेकिन उपयोगकर्ता को इसे पूर्ण स्क्रीन बनाने की अनुमति देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.