2015-09-15 8 views
1

J'essaie d'intégrer l'API iframe de Youtube sur Xbox One pour pouvoir lire des vidéos Youtube à partir d'une application, mais jusqu'à présent, je n'ai pas réussi à le faire fonctionner. Est-ce même possible?Youtube iframe API sur Xbox One?

Il semble que les applications Windows Store imposent beaucoup de restrictions par rapport à une application Web (pour des raisons de sécurité très compréhensibles).

Le premier problème lors du portage de l'application Web est le contexte local/contexte Web. Il semble y avoir deux options là-bas:

  1. grab une version du code de Youtube (au moins la partie qui charge la bibliothèque) et l'intégrer dans l'application (de cette façon, nous contrôlons plus du code au moment de la certification, mais il ne pourrait plus être synchronisé avec le reste du code web)
  2. charger tout le code de Youtube depuis le web dans un contexte web (en mettant le YT.player dans un autre iframe) et ensuite faire un proxy dans le local contexte pour publier des messages dans le contexte Web équivalent.

Quelle est la méthode recommandée?

Le deuxième problème est que IE dans l'application semble charger les vidéos de YouTube dans Flash, car il se plaint de l'absence d'ActiveX. Je reçois l'erreur suivante:

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 

Y at-il un moyen de forcer l'application à charger des vidéos en HTML5 au lieu de flash? J'ai essayé la mise en html5 = 1 dans les playerVars, comme dans le code suivant (tel que suggéré dans http://jsfiddle.net/rocha/eMAU5/), mais il n'a pas aidé:

player = new YT.Player('player', { 
     height: '390', 
     width: '640', 
     videoId: 'OEoXaMPEzfM', 
     playerVars: { 
      html5: 1, 
     } 

Ou peut-être que je ne suis pas interprète correctement la raison pour le chargement de cette ActiveX? Je sais que les ActiveX sont désactivés dans les applications Windows Store (et les applications X1). Quoi qu'il en soit, comment puis-je faire ce travail (si possible)?

Merci

Répondre

1

Ce n'est pas pris en charge le comportement. Non seulement ActiveX n'est pas pris en charge dans les applications ADK, mais le chargement dans le code distant est contre XR-010. Je suggère de lancer le navigateur avec l'URL de la vidéo YouTube à l'aide Launcher.LaunchUriAsync:

// 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 
     } 
    }); 

Enfin, s'il vous plaît poster vos questions spécifiques Xbox aux forums Xbox appropriés. Je serai heureux d'y répondre, et plus en détail. Les informations sur les programmes protégés par la NDA ne doivent pas être discutées sur un forum public.