Youtube iframe API на Xbox One?

Я пытаюсь интегрировать API Youtube iframe на Xbox One, чтобы иметь возможность воспроизводить видео Youtube из приложения, но пока не удалось заставить его работать. Это вообще возможно?

Кажется, что приложения для магазина Windows накладывают много ограничений по сравнению с веб-приложением (по очень понятным причинам безопасности).

Первая проблема при портировании веб-приложения — это локальный контекст/веб-контекст. Там вроде два варианта:

  1. возьмите версию кода Youtube (по крайней мере, ту часть, которая загружает библиотеку) и интегрируйте ее в приложение (таким образом, мы контролируем большую часть кода во время сертификации, но в конечном итоге он может больше не синхронизироваться с остальной частью веб-код)
  2. загрузите весь код 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). В любом случае, как я могу заставить это работать (если это вообще возможно)?

Спасибо


person Dave10ww    schedule 15.09.2015    source источник


Ответы (1)


Это не поддерживаемое поведение. ActiveX не только не поддерживается в приложениях ADK, но и загрузка удаленного кода противоречит XR-010. Я предлагаю запустить браузер с URL-адресом видео YouTube с помощью Launcher. ЗапускУриасинк:

// The URI to launch
var uriToLaunch = "https://www.youtube.com/user/xbox";

// Create a Uri object from a URI string 
var uri = new Windows.Foundation.Uri(uriToLaunch);

// Launch the URI
Windows.System.Launcher.launchUriAsync(uri).then(   
   function (success) {
      if (success) {
          // URI launched
      } else {
          // URI launch failed
      }
   });

И, наконец, задавайте вопросы, касающиеся Xbox, на соответствующих форумах Xbox. С удовольствием отвечу на них там, причем более подробно. Информация о программе, защищенной NDA, не должна обсуждаться на открытом форуме.

person Shane Weaver    schedule 16.12.2015