【问题标题】:Recently not playing youtube clip with iframe player on UIWebView最近没有在 UIWebView 上使用 iframe 播放器播放 youtube 剪辑
【发布时间】:2014-04-01 04:04:41
【问题描述】:

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

【问题讨论】:

    标签: ios objective-c youtube-api


    【解决方案1】:

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

    2014 年 1 月 28 日

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

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

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

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

    更新:
    今天,我发现没有我的解决方案它也能很好地工作。最近好像解决了这个问题。

    【讨论】:

    • 你也救了我!如果有人发现为什么这样做会很高兴看到解释。谢谢!
    • @mustafa 我回答的解决方案对你不起作用?
    猜你喜欢
    • 2013-04-16
    • 1970-01-01
    • 2012-09-15
    • 2011-11-23
    • 2018-10-12
    • 1970-01-01
    • 2013-06-19
    • 2013-09-19
    • 1970-01-01
    相关资源
    最近更新 更多