我的iOS应用程序使用UIWebView上的youtube iframe播放器以内联模式播放任何剪辑。以下代码是使用的HTML代码。
<html>
<head>
<style type="text/css">body {background-color: transparent;color: white;}</style>
</head>
<body style="margin:0">
<iframe src="http://www.youtube.com/embed/e2w8z6mI47U?playsinline=1&rel=0&showinfo=0" width="320" height="240" frameborder="0" allowfullscreen></iframe>
</body>
</html>
然后,它传递给loadHTMLString
方法。
该代码在最近的日期之前运作良好。但是,我最近注意到我使用的每个剪辑都没有正常播放。显示待机视图和播放按钮,但是,虽然我按下播放按钮,但播放效果不佳。黑屏只显示。
我还没有找到解决问题的方法。是否有Youtube Iframe球员的任何变化或我错过的分数?
答案 0 :(得分:8)
我最后通过致电[videoView setMediaPlaybackRequiresUserAction:NO]
来解决问题
我不知道为什么这个方法可以救我。猜测,有一个变化涉及在youtube上播放的请求。我可以在youtube开发者网站上找到以下更改。
2014年1月28日
playsinline参数控制视频是否内联播放 全屏在iOS上的HTML5播放器中。将值设置为1会导致 内联播放。
选择要播放的内容部分已更新,以说明如何操作 使用YouTube Data API查找YouTube视频ID和播放列表ID (v3)而不是较旧的API版本。
控件参数的定义已更新以反映 事实上,参数值只影响Flash的时间 播放器实际上在IFrame嵌入中加载。另外,对于IFrame 嵌入时,参数值也决定控件何时显示 在播放器中。如果将参数的值设置为2,那么 控件显示和用户启动后加载Flash播放器 视频播放。
我猜上述其中一项更改可能需要额外的信息,这些信息会从客户端传递到youtube服务器以便正常播放。
<强>更新强>
今天,我发现没有我的解决方案,它运作良好。这个问题似乎最近得到了解决。