Я пытаюсь интегрировать API Youtube iframe на Xbox One, чтобы иметь возможность воспроизводить видео Youtube из приложения, но пока не удалось заставить его работать. Это вообще возможно?
Кажется, что приложения для магазина Windows накладывают много ограничений по сравнению с веб-приложением (по очень понятным причинам безопасности).
Первая проблема при портировании веб-приложения — это локальный контекст/веб-контекст. Там вроде два варианта:
- возьмите версию кода Youtube (по крайней мере, ту часть, которая загружает библиотеку) и интегрируйте ее в приложение (таким образом, мы контролируем большую часть кода во время сертификации, но в конечном итоге он может больше не синхронизироваться с остальной частью веб-код)
- загрузите весь код Youtube из Интернета в веб-контекст (поместив YT.player в другой iframe), а затем выполните прокси-сервер в локальном контексте для отправки сообщений в эквивалентный веб-контекст.
Какой метод рекомендуется?
Вторая проблема заключается в том, что IE в приложении загружает видео с YouTube во Flash, потому что жалуется на отсутствие 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? Я попытался установить html5=1 в playerVars, как в следующем коде (как предложено в http://jsfiddle.net/rocha/eMAU5/), но это не помогло:
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'OEoXaMPEzfM',
playerVars: {
html5: 1,
}
Или, может быть, я не правильно интерпретирую причину загрузки этого ActiveX? Я знаю, что ActiveX деактивированы в приложениях магазина Windows (и приложениях X1). В любом случае, как я могу заставить это работать (если это вообще возможно)?
Спасибо