2017-04-07 3 views
0

Je suis en train de développer une application personnalisée Chromecast Receiver. Est-il possible de lancer des médias via le Cast Message Bus? Je suis conscient que ce n'est pas la meilleure pratique et il existe déjà un mécanisme pour lancer des médias via le GCKMediaControlChannelChromecast - Lancer le média via le CastMessageBus

J'utilise le https://github.com/googlecast/CastReferencePlayer comme point de départ.

J'envoie le message texte (contenant les médias Info JSON) via mon expéditeur comme ceci:

[_castServiceChannel sendTextMessage:mediaInfoJSON];

Le JSON est reçu sur le récepteur et je suis ensuite essayer de lancer les médias joueur comme ceci:

sampleplayer.CastPlayer.prototype.loadVideo_(message);

Mais je ne suis pas initialisant le lecteur multimédia correctement. Quelqu'un a-t-il une idée?

Répondre

0

Le problème pour moi est que je ne pouvais pas lancer la vidéo parce que:

  1. loadVideo_() était la mauvaise méthode, je devrais utiliser load()
  2. Le joueur n'a jamais été initialisés correctement lors de la réception des messages de la distribution .

Ma solution était de séparer les messages cast message bus du lecteur. Donc dans mon player.html, j'ai initié le cast message bus. Quand je receive JSON des médias que je veux jouer, j'init player.js de player.html comme ceci:

//receive message to play -> pass media through 
var player = document.getElementById('player'); 
new sampleplayer.CastPlayer(player).start(); 

puis dans

sampleplayer.CastPlayer.prototype.start = function() { 
    this.load(JSON.parse(message)); 
}; 

La seule chose qui est un problème est que le Media Manager est jamais correctement initialisés le Cast Receiver app. Cela signifie que je ne peux pas capturer les événements RCU correctement. Des idées pour lesquelles cela pourrait se produire?