iphone - आईफोन बनाम आईपैड/ब्राउज़र पर एचटीएमएल 5 इनलाइन वीडियो




ipad video (6)

आईओएस 10+ में

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

<video src="file.mp4" playsinline>

आईओएस 8 और आईओएस 9 में

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

आप प्लेबैक और ऑडियो सिंक (यदि कोई हो) की देखभाल करने के लिए iphone-inline-video का उपयोग कर सकते हैं, और यह <video> जैसा काम करना चाहिए उसे काम करता है।

मैंने एक HTML5 वीडियो प्लेयर (बहुत सरल) बनाया है जो आईपैड और ब्राउज़र पर पूरी तरह से काम करता है।

हालांकि, जब मैं इसे आईफोन पर खोलता हूं, तो मुझे केवल एक प्ले बटन मिलता है, जब दबाया जाता है, तो मेरी सभी चीजों के शीर्ष पर मूल वीडियो प्लेयर को एक नई विंडो पर खुलता है।

इसका मतलब है कि मैं अपने कस्टम नियंत्रण और समय ट्रैकिंग (जावास्क्रिप्ट में लिखा गया) तक पहुंच खो देता हूं, क्योंकि वीडियो अब अलग हो रहा है।

क्या आईफोन पर एचटीएमएल 5 वीडियो के ऐप्पल के नियंत्रण को ओवरराइड करने और आईपैड पर काम करने का कोई तरीका है?

चियर्स


आईओएस 10 में एचटीएमएल 5 वीडियो टैग में 'नाटकलाइन' विशेषता जोड़ने से आईफोन UIWebview पर पूर्णस्क्रीन प्लेबैक नहीं रोका गया जब तक कि मैंने 'नियंत्रण' विशेषता भी नहीं जोड़ा। इस तरह मैंने इसे काम किया है:

<video width="100%" height="240" controls playsinline>
      <source src="movie.mp4" type="video/mp4" >
</video>

निश्चित रूप से, _webView.allowsInlineMediaPlayback=YES; ViewController में भी।


कुछ काम आसपास हैं, मैं इस कार्यक्षमता को स्वचालित रूप से अनुमति देने के लिए लाइब्रेरी पर काम कर रहा हूं। हालांकि, जब तक ऐप्पल सफारी सेट नहीं करता है

webview.allowsInlineMediaPlayback = YES;

तो हमें एक ही व्यवहार के लिए हैक्स का उपयोग करना होगा।

आप यहां प्रोजेक्ट देख सकते हैं: https://github.com/newshorts/InlineVideo यह देखने के लिए कि क्या यह आपकी आवश्यकताओं को पूरा करता है।


क्या आपके पास मोबाइल एपारी के लिए बनाया गया ऐप है या यह है? यदि आपके पास कोई ऐप है और UIWebView का उपयोग करें तो आपको UIWebView की अनुमतिInlineMediaPlayback प्रॉपर्टी सेट करनी चाहिए ..


बस अपनी config.xml में निम्नलिखित जोड़ें: <preference name="AllowInlineMediaPlayback" value="true" /> अन्यथा UIWebView वेबकिट-नाटकोंलाइन विशेषता को अनदेखा कर देगा।


सही,

मैं इसके साथ कहीं नहीं जा रहा था और ऐप्पल के साथ एक बग दायर किया।

कुछ हफ्तों के बाद वे मेरे पास वापस आ गए, बहुत सरलता से, मुझे HTML पर वीडियो टैग में "वेबकिट-नाटकलाइन" जोड़ना चाहिए, साथ ही UIWebView पर "allowInlineMediaPlayback" संपत्ति जोड़ना चाहिए।

तो अंत में, यह ऐसा लगता है:

एचटीएमएल

<video id="player" width="480" height="320" webkit-playsinline>

Obj सी

webview.allowsInlineMediaPlayback = YES;

और सब ठीक काम करता है :)

उम्मीद है कि यह किसी की मदद करता है, क्योंकि यह लगभग अनियंत्रित है और iAds संदर्भ में "वेबकिट-नाटकोंलाइन" का संदर्भ ढूंढने वाला एकमात्र स्थान था, जहां यह कहता है: "केवल iAds JS"।







html5