iframe - 在 Google Chrome 扩展程序中播放盈利的 YouTube 歌曲。我有什么选择吗?

标签 iframe google-chrome-extension youtube youtube-api youtube-javascript-api

我在开发 Google Chrome 扩展程序时遇到了巨大的障碍。任何盈利的 YouTube 歌曲(例如带有广告)都不会播放。

这记录在此处: https://developers.google.com/youtube/flash_api_reference_as2#Events

以及此处:https://stackoverflow.com/questions/4852490/some-videos-not-playing-through-youtube-api

之前,我一直使用 YouTube 的 Flash API。在我尝试部署我的扩展之前,这一直很有效。那时我遇到了巨大的安全问题,由于权限不足而锁定了应用程序。因此,我重写了播放器以使用 iFrame API 而不是 Flash API。

iFrame API 允许我成功部署,没有任何 Flash 安全问题,但现在我无法播放任何带有广告的歌曲。

有人知道解决这个问题的方法吗?

编辑:

我的扩展可以在这里下载:http://www.meomixes.com/

可以在此处查看扩展的来源:http://github.com/MeoMix/YouPod

举个例子,这首歌对我来说非常适合:http://www.youtube.com/watch?v=QXtPoNfOYSo

然而,这首歌在播放时抛出错误:http://www.youtube.com/watch?v=_dfVAAWbLUY

请注意,第二首歌已货币化。

最佳答案

首先,我初始化了播放器并加载了视频:

player = new YT.Player(getFrameID('MusicHolder'));player.loadVideoById('_dfVAAWbLUY')

如您所见,播放器拒绝嵌入视频,因为播放器太小。所以,我改变了播放器的大小,然后再次尝试:

$('iframe').width(640).height(390);player.loadVideoById('_dfVAAWbLUY');

视频开始播放。我在扩展中测试了相同的代码,问题也消失了。

因此,创建虚拟框架如下:

<iframe
    width="640"
    height="390"
    src="http://www.youtube.com/embed/dummy?enablejsapi=1"
></iframe>

更多调试信息:

  • 在前面的屏幕截图中,http://localhost:8000/ 是 Chrome 扩展程序的根目录。我使用 python -m SimpleHTTPServer 创建服务器。
  • 我拦截了框架和页面之间的消息,发现抛出了错误代码150。根据documentation ,这“与 101 相同”,并且“当请求的视频不允许在嵌入式播放器中播放时,会广播 101 错误代码。”

player = new YT.Player(getFrameID('MusicHolder'));onmessage=console.log.bind(console);player.loadVideoById('_dfVAAWbLUY')

关于iframe - 在 Google Chrome 扩展程序中播放盈利的 YouTube 歌曲。我有什么选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10873063/

相关文章:

python - 如何将文本发送到 https ://mail. protonmail.com 注册页面中的密码字段?

jquery - jQuery在fancybox上用updatepanel中断,表示该页面的状态信息无效并且可能已损坏

javascript - 为什么我的 youTube 播放器中没有控件

Jquery - 如何动态调整 iframe 的高度?

javascript - fillRect 导致整个屏幕改变颜色

javascript - 如何针对 URL 字符串测试 URL 匹配模式

javascript - 将对象从后台脚本发送到内容脚本

javascript - 将 Angular.js 应用于 Chrome 扩展内容脚本中的新 DOM 元素

PHP:Youtube Require YouTube.php 在第 32 行出现错误

javascript - 删除嵌入式 YouTube 视频上的注释