我建立了一个Web应用程序,该应用程序使用HTML5标签和JavaScript代码来呈现与正在运行的视频同步的其他内容。它在桌面浏览器(Firefox,Chrome和Safari)中非常有效。在iPhone或DroidX上,本机视频播放器弹出并接管屏幕,从而遮盖了我想与视频同时显示的其他动态内容。
有没有办法解决?如有必要,我将弄清楚如何为这两个平台编写本机应用程序,但是如果我坚持使用HTML5 / JavaScript,则可以节省大量时间。
我建立了一个Web应用程序,该应用程序使用HTML5标签和JavaScript代码来呈现与正在运行的视频同步的其他内容。它在桌面浏览器(Firefox,Chrome和Safari)中非常有效。在iPhone或DroidX上,本机视频播放器弹出并接管屏幕,从而遮盖了我想与视频同时显示的其他动态内容。
有没有办法解决?如有必要,我将弄清楚如何为这两个平台编写本机应用程序,但是如果我坚持使用HTML5 / JavaScript,则可以节省大量时间。
Answers:
Apple playsinline
在iOS 10的所有浏览器中启用了该属性,因此可以无缝运行:
<video src="file.mp4" playsinline>
简短答案:使用iphone-inline-video,它可以内联播放并同步音频。
长答案:您可以通过略读视频而不是实际播放视频来模拟回放,从而解决此问题.play()
。
有一个属性可以在iOS Web浏览器中启用/禁用在线媒体播放(如果您正在编写本机应用程序,则为allowsInlineMediaPlayback
UIWebView 的属性)。在iPhone上NO
,默认设置为YES
。在iPad 上,默认设置为。
幸运的是,您还可以按照以下方式在HTML中调整此行为:
<video id="myVideo" width="280" height="140" webkit-playsinline>
...希望可以为您解决。我不知道它是否可以在您的Android设备上运行。这是一个webkit属性,所以可能会。值得一去。
<preference name="AllowInlineMediaPlayback" value="true" />
旧答案(适用于2016年)
这是一个Apple开发人员链接,其中明确指出-
在iPhone和iPod touch,这是小屏幕设备,“视频是不是在网页内呈现”
您的选择:
webkit-playsinline
属性适用于iOS上的HTML5视频,但仅当您将网页另存为webapp时才适用 -如果在Safari中打开页面,则该属性不起作用UIWebView
允许内联播放视频,但前提是您将该类的allowsInlineMediaPlayback
属性设置UIWebView
为true<preference name="AllowInlineMediaPlayback" value="true" />
在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/查看详细信息
根据此页面 https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html ,仅当(仅在UIWebView中启用,且allowInlineMediaPlayback属性设置为YES时,此选项才可用。 )我知道在Mobile Safari中,在iPad上为YES,在iPhone和iPod Touch上为NO。
我不了解android,但是由于屏幕尺寸较小,iPhone或iPod touch上的Safari可以全屏播放所有视频。在iPad上,它将在页面上播放视频,但允许用户将其全屏显示。