最近没有在UIWebView上使用iframe播放器播放youtube剪辑



我的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播放器或我错过的分数有什么变化吗?

我最终通过调用[videoView setMediaPlaybackRequiresUserAction:NO]解决了这个问题
我不知道为什么这个方法能救我。据猜测,在youtube上播放的请求发生了变化。我可以在youtube开发者网站上找到以下更改。

2014年1月28日

playsinline参数控制视频是联机播放还是iOS上HTML5播放器中的全屏。将值设置为1会导致在线播放。

选择要播放的内容部分已更新,以解释如何使用YouTube数据API查找YouTube视频ID和播放列表ID(v3),而不是较旧的API版本。

控件参数的定义已更新,以反映参数值只影响Flash播放器实际加载在IFrame嵌入中。此外,对于IFrame嵌入时,参数值还决定控件何时显示在播放器中。如果将参数的值设置为2,则在用户启动后控制显示和Flash播放器加载视频播放。

我想上述更改之一可能需要从客户端传递到youtube服务器的额外信息才能正常播放。

更新:
今天,我发现它在没有我的解决方案的情况下运行良好。这个问题最近似乎得到了解决。

最新更新