在IOS设备上内嵌显示youtube视频

时间:2015-10-27 12:00:45

标签: javascript html ios youtube

我正在尝试构建一个小型网络应用,需要在某些文字后面播放YouTube视频。

我尝试使用youtube iframe api'plaininline'参数,但它不起作用并在IPhones上全屏显示视频。

有什么建议吗?

感谢。

更新

自IOS 10推出以来html5视频标签内联属性在safari上受支持,youtube视频可以内联播放, 因此@David Anderton的答案被标记为正确。

https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html#//apple_ref/doc/uid/TP40014305-CH11-DontLinkElementID_12

希望有所帮助

3 个答案:

答案 0 :(得分:13)

playsinline=1参数添加到嵌入网址。在适当之前添加?&; ?如果唯一的参数,&与其他参数连接。

示例:

<iframe
  src="https://www.youtube.com/v/VIDEO_ID?playsinline=1">
</iframe>

来自YouTube iFrame Player API

  

此参数控制视频是否在iOS上的HTML5播放器中以内嵌或全屏播放。有效值为:   0:该值导致全屏播放。这是当前的默认值,但默认值可能会发生变化。   1:此值导致使用allowsInlineMediaPlayback属性设置为TRUE创建的UIWebView的内联回放。

答案 1 :(得分:3)

您无法在iOS上的浏览器中内嵌播放视频。如果它是一个混合应用程序(使用webview),那么在实例化webview时你可以设置allowInlineMediaPlayback,HTML中的视频标签应该有&#34; webkit-playsinline&#34;属性。

答案 2 :(得分:1)

首先将allowsInlineMediaPlaybackmediaPlaybackRequiresUserAction设置为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=1autoplay=1