it-swarm.dev

هل يمكنني تجنب مشغل فيديو ملء الشاشة الأصلي باستخدام HTML5 على iPhone أو android؟

لقد قمت بإنشاء تطبيق ويب يستخدم علامة HTML5 ورمز JavaScript الذي يجعل المحتوى الآخر متزامنًا مع الفيديو الجاري تشغيله. يعمل بشكل رائع في متصفحات سطح المكتب: Firefox و Chrome و Safari. على iPhone أو DroidX ، ينبثق مشغل الفيديو الأصلي ويستحوذ على الشاشة ، وبالتالي يحجب المحتوى الديناميكي الآخر الذي أريد عرضه في وقت واحد مع الفيديو.

هل هناك أي طريقة للتغلب على هذه؟ إذا لزم الأمر ، فسأكتشف كيفية كتابة تطبيقات أصلية لكلتا المنصتين ، لكن ذلك سيوفر لي الكثير من الجهد إذا تمكنت من الالتزام بـ HTML5/JavaScript.

111
AlpineCarver

في نظام التشغيل iOS 10+

قامت Apple بتمكين السمة playsinline في جميع المتصفحات على iOS 10 ، لذلك يعمل هذا بسلاسة:

<video src="file.mp4" playsinline>

في iOS 8 و iOS 9

إجابة قصيرة: use iphone-inline-video ، فإنه يتيح تشغيل مضمن ومزامنة الصوت.

إجابة طويلة: يمكنك حل هذه المشكلة عن طريق محاكاة التشغيل عن طريق القشط الفيديو بدلاً من .play()_ الواقع.

60
bfred.it

هناك خاصية تمكن/تعطل تشغيل الوسائط في خط في متصفح الويب iOS (إذا كنت تكتب تطبيقًا أصليًا ، فستكون الخاصية allowsInlineMediaPlayback من UIWebView). بشكل افتراضي على iPhone ، يتم ضبطه على NO ، ولكن على iPad يتم ضبطه على YES.

لحسن الحظ ، يمكنك أيضًا ضبط هذا السلوك في HTML كما يلي:

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

... يجب أن نأمل فرز ذلك لك. لا أعرف ما إذا كان سيعمل على أجهزة Android. انها خاصية webkit ، لذلك قد. يستحق الذهاب ، على أي حال.

51
lxt

إليك رابط مطور Apple هذا بشكل صريح يقول ذلك -

(على iPhone و iPod touch ، وهما عبارة عن أجهزة شاشة صغيرة ، "الفيديو هوليسيتم تقديمه داخل صفحة الويب"

اعتبارات خاصة بأجهزة Safari

NOW:

  • تعمل سمة webkit-playsinline لمقاطع فيديو HTML5 على نظام التشغيل iOS لكن فقط عند حفظ صفحة الويب على شاشتك الرئيسية كويب ويب - ليس في حالة فتح صفحة في Safari
  • بالنسبة للتطبيق الأصلي مع WebView (أو تطبيق مختلط مع HTML ، CSS ، JS) ، يسمح UIWebView بتشغيل الفيديو في السطر ، ولكن فقط إذا قمت بتعيين خاصية allowsInlineMediaPlayback لـUIWebViewclass إلى صحيح
40
KingJulian

في نظام التشغيل iOS 10 beta 4. الكود الصحيح في HTML5 هو

<video src="file.mp4" webkit-playsinline="true" playsinline="true">

webkit-playsinline هو لنظام iOS <10 ، و playsinline هو لنظام iOS> = 10

انظر التفاصيل عبر https://webkit.org/blog/6784/new-video-policies-for-ios/

14
iamhite

وفقًا لهذه الصفحة https://developer.Apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html يكون متاحًا فقط إذا (متاح فقط في UIWebView مع خاصية allowInlineMediaPlayback اضبط على YES.) أفهم في Mobile Safari أن هذا هو نعم على iPad و NO على iPhone و iPod Touch.

11
jz-

لا أعلم عن Android ، لكن Safari على iPhone أو iPod touch سوف يشغل جميع مقاطع الفيديو بملء الشاشة بسبب حجم الشاشة الصغير. على جهاز iPad ، سيتم تشغيل الفيديو على الصفحة مع السماح للمستخدم بعرضه بملء الشاشة.

9
ughoavgfhw