我正在尝试构建一个小型网络应用,需要在某些文字后面播放YouTube视频。
我尝试使用youtube iframe api'plaininline'参数,但它不起作用并在IPhones上全屏显示视频。
有什么建议吗?
感谢。
自IOS 10推出以来html5视频标签内联属性在safari上受支持,youtube视频可以内联播放, 因此@David Anderton的答案被标记为正确。
希望有所帮助
答案 0 :(得分:13)
将playsinline=1
参数添加到嵌入网址。在适当之前添加?
或&
; ?
如果唯一的参数,&
与其他参数连接。
示例:
<iframe
src="https://www.youtube.com/v/VIDEO_ID?playsinline=1">
</iframe>
此参数控制视频是否在iOS上的HTML5播放器中以内嵌或全屏播放。有效值为: 0:该值导致全屏播放。这是当前的默认值,但默认值可能会发生变化。 1:此值导致使用allowsInlineMediaPlayback属性设置为TRUE创建的UIWebView的内联回放。
答案 1 :(得分:3)
您无法在iOS上的浏览器中内嵌播放视频。如果它是一个混合应用程序(使用webview),那么在实例化webview时你可以设置allowInlineMediaPlayback,HTML中的视频标签应该有&#34; webkit-playsinline&#34;属性。
答案 2 :(得分:1)
首先将allowsInlineMediaPlayback
和mediaPlaybackRequiresUserAction
设置为true。
然后检查您的iFrame HTML:
<html><body style='margin:0px;padding:0px;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>function onYouTubeIframeAPIReady(){ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}function onPlayerReady(a){a.target.playVideo();}</script><iframe id='playerId' type='text/html' width='640' height='480' src='http://www.youtube.com/embed/5_ofy9Ae87M?enablejsapi=1&rel=0&playsinline=1&autoplay=1' frameborder='0'></body></html>
请注意HTML中的playsinline=1
和autoplay=1
。