我在开发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
请注意,第二首歌已经货币化。
答案 0 :(得分:3)
首先,我初始化了播放器并加载了视频:
正如您所看到的,播放器拒绝嵌入视频,因为播放器太小。所以,我改变了播放器的大小,并再次尝试:
视频开始播放了。我在扩展中测试了相同的代码,问题也消失了。
因此,按如下方式创建虚拟框架:
<iframe
width="640"
height="390"
src="http://www.youtube.com/embed/dummy?enablejsapi=1"
></iframe>
更多调试信息:
http://localhost:8000/
是Chrome扩展程序的根目录。我使用python -m SimpleHTTPServer
来创建服务器。