我可以在iPhone或Android上避免使用HTML5的原生全屏视频播放器吗?

Alp*_*ver 120 iphone video html5 android fullscreen

我已经构建了一个Web应用程序,它使用HTML5标记和JavaScript代码,使其他内容与正在运行的视频同步.它在桌面浏览器中运行良好:Firefox,Chrome和Safari.在iPhone或DroidX上,原生视频播放器会弹出并占据屏幕,从而模糊了我想要与视频同时显示的其他动态内容.

有没有办法解决?如果有必要的话,我会弄清楚如何为这两个平台编写原生应用程序,但如果我能坚持使用HTML5/JavaScript,它将为我节省大量的精力.

fre*_*nte 65

在iOS 10+中

Apple playsinline在iOS 10上的所有浏览器中启用了该属性,因此无缝地工作:

<video src="file.mp4" playsinline>
Run Code Online (Sandbox Code Playgroud)

在iOS 8和iOS 9中

简答:使用iphone-inline-video,它可以实现内联播放和同步音频.

答案很长:你可以通过浏览视频来模拟播放而不是实际播放来解决这个问题.play().


lxt*_*lxt 51

有一个属性可以在iOS Web浏览器中启用/禁用行媒体播放(如果您正在编写本机应用程序,则它将是allowsInlineMediaPlaybackUIWebView 的属性).默认情况下,iPhone设置为NO,但在iPad上设置为YES.

幸运的是,您还可以在HTML中调整此行为,如下所示:

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

......应该希望能为你解决这个问题.我不知道它是否适用于您的Android设备.它是一个webkit属性,所以它可能.无论如何,值得一试.

  • 谢谢你的建议.不幸的是,它没有改变我所看到的行为 - 全屏原生视频播放器都出现在iPhone和DroidX上. (25认同)
  • 这也适用于Cordova/PhoneGap.只需将以下内容添加到Cordova项目的config.xml中:`<preference name ="AllowInlineMediaPlayback"value ="true"/>` (14认同)
  • 这可能无法在Safari for iPhone中使用,因为Web视图不允许内联视频播放.但是,如果网页位于您自己的应用程序中自己的UIWebView中,则可以设置这些属性,并且可以进行内联视频播放:webview.allowsInlineMediaPlayback = YES; webview.mediaPlaybackRequiresUserAction = NO; (7认同)
  • 我也有这个问题.我添加了webkit-playsinline甚至是webkit-playsinline ="webkit-playsinline"的xml验证版本,但是没有改变行为 (5认同)
  • <preference name ="AllowInlineMediaPlayback"value ="true"/>太棒了!它在我的iPhone上工作正常.非常感谢. (3认同)
  • 我已经读过,这只适用于本机应用程序和网页中的UIWebView,只有当您将它们作为webapps保存到主屏幕时. (2认同)

Kin*_*ian 40

这是一个Apple开发人员链接,明确指出 -

在iPhone和iPod touch,这是小屏幕设备,"视频是不是在网页内呈现"

特定于Safari设备的注意事项

现在:

  • webkit-playsinline属性适用于iOS上的HTML5视频,但仅当您将网页作为webapp保存到主屏幕时 - 如果在Safari中打开一个页面则不行
  • 对于一个网页视图的本地应用程序(或HTML,CSS,JS的混合应用程序)的UIWebView允许播放视频在线,但只有当你设置allowsInlineMediaPlayback属性UIWebView类为true


iam*_*ite 15

在iOS 10 beta 4. HTML5中的正确代码是

<video src="file.mp4" webkit-playsinline="true" playsinline="true">
Run Code Online (Sandbox Code Playgroud)

webkit-playsinline适用于iOS <10,playsinline适用于iOS> = 10

通过https://webkit.org/blog/6784/new-video-policies-for-ios/查看详细信息


小智 11

根据此页面 http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/Attributes.html 它仅在(仅在UIWebView中启用且allowInlineMediaPlayback属性设置为YES时可用) .)据我所知,在Mobile Safari中,iPad上为YES,iPhone和iPod Touch上为NO.

  • 看起来这只有在您设置HTML5播放器页面以"生活在"本机iOS应用程序中时才有效.它肯定不适用于普通的网页. (4认同)

ugh*_*fhw 9

我不知道Android,但由于屏幕尺寸小,iPhone或iPod touch上的Safari将全屏播放所有视频.在iPad上,它将在页面上播放视频,但允许用户全屏显示.