iPhone上的HTML5内嵌video与iPad /浏览器

我创build了一个HTML5video播放器(非常简单),可以在iPad和浏览器上完美地工作。

但是,当我在iPhone上打开它时,我只会看到一个播放button,当它按下时,会在新窗口中打开本地video播放器,在我所有的东西之上。

这意味着我无法访问我的自定义控件和时间跟踪(用Javascript编写),因为video现在正在运行孤立。

有没有什么办法可以覆盖苹果的iPhone上的HTML5video控制,并得到它的工作就像在iPad上?

干杯

对,

我没有去这个地方,并提出了一个苹果的错误。

几个星期后,他们回到我身边,非常简单地说,我应该在web上添加“webkit-playsinline”的video标签,并在UIWebView上添加“allowInlineMediaPlayback”属性。

所以最后,这就是它的样子:

HTML

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

OBJ-C

 webview.allowsInlineMediaPlayback = YES; 

而且所有的作品都很好:)

希望这可以帮助某人,因为它几乎没有logging,唯一可以find对“webkit-playsinline”的引用是在iAds的参考,它说:“只有iAds JS”。

在iOS Safari实现内联video支持之前,您需要使用Web支持的语言编写video解码器。 现有video解码器的实现方式,如用于H.264(video)的百老汇 ,用于mpeg1的jsmpeg和用于video和声音支持的ogv.js。

请记住,解码video的过程在计算量上很大。 预计相对较慢的FPS(±20)。

为了供大家参考,这些人准备了一个可以在iOS设备上播放的video演示 。

在iOS 10+

苹果在iOS 10的所有浏览器中启用了playsinline属性,因此可以无缝工作:

 <video src="file.mp4" playsinline> 

在iOS 8和iOS 9中

您可以通过浏览video来模拟播放而不是实际地.play()来解决此问题。

您可以使用iphone-inline-video来照顾播放和audio同步(如果有的话),并保持<video>正常工作。

你有一个创build的应用程序,或者这是为移动Safari浏览器? 如果你有一个应用程序,并使用UIWebView,你应该设置UIWebView的allowsInlineMediaPlayback属性..

有一些工作,我正在一个库,以自动允许这个function。 但是,直到苹果设置Safari浏览器

 webview.allowsInlineMediaPlayback = YES; 

那么我们将不得不使用黑客的相同的行为。

你可以看看这个项目: https : //github.com/newshorts/InlineVideo ,看看它是否符合你的需求。

只需将以下内容添加到您的config.xml中:否则UIWebView将忽略webkit-playsinline属性。

在iOS 10中,将“playsinline”属性添加到HTML5video标签并不会阻止iPhone UIWebview上的全屏播放,除非我还添加了“controls”属性。 这是我如何工作:

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

当然,使用_webView.allowsInlineMediaPlayback=YES; 也在ViewController中。

你可以很容易地通过添加到你的config.xml来允许:UIWebView应该尊重webkit-playsinline属性。