我正在尝试在 Xbox One 上集成 Youtube iframe API,以便能够从应用程序播放 Youtube 视频,但到目前为止还没有成功。甚至可能吗?
与 Web 应用程序相比,Windows 商店应用程序似乎施加了很多限制(出于非常容易理解的安全原因)。
移植 Web 应用程序时的第一个问题是本地上下文/Web 上下文。那里似乎有两种选择:
- 获取 Youtube 代码的一个版本(至少是加载库的部分)并将其集成到应用程序中(这样,我们在认证时控制了更多代码,但它最终可能不再与其余部分同步网页代码)
- 在 Web 上下文中从 Web 加载所有 Youtube 的代码(通过将 YT.player 放在另一个 iframe 中),然后在本地上下文中执行代理以将消息发布到等效的 Web 上下文。
推荐的方法是什么?
第二个问题是应用程序中的 IE 似乎在 Flash 中加载 YouTube 的视频,因为它抱怨 ActiveX 不存在。我收到以下错误:
Exception was thrown at line 328, column 376 in
https://s.ytimg.com/yts/jsbin/www-embed-player-new-vflRnMsMv/www-embed-player-new.js
0x800a1391 - JavaScript runtime error: 'ActiveXObject' is undefined
有没有办法强制应用以 HTML5 而不是 flash 加载视频?我尝试在 playerVars 中设置 html5=1,就像在下面的代码中一样(如http://jsfiddle.net/rocha/eMAU5/中所建议的那样),但它没有帮助:
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'OEoXaMPEzfM',
playerVars: {
html5: 1,
}
或者也许我没有正确解释加载此 ActiveX 的原因?我知道 ActiveX 在 Windows 商店应用程序(和 X1 应用程序)中被停用。无论如何,我怎样才能使这项工作(如果可能的话)?
谢谢