2016-09-06 2 views
0

Ich versuche, JavaScript-Anwendung mit Google Chrome API zu integrieren. Ich customData in MediaInfo weise wie folgt zu senden:Wie bekomme ich benutzerdefinierte Daten von Cast Reciever zurück?

var mediaInfo = new chrome.cast.media.MediaInfo(src, type); 
mediaInfo.customData = {'key': 'value'} 
var loadRequest = new chrome.cast.media.LoadRequest(mediaInfo); 
this.apiSession.loadMedia(loadRequest, onMediaDiscovered, onCastError); 

Nun meine benutzerdefinierte Daten zu lesen, ich versuche, wenn ich bestehende Guss Sitzung teilnehmen:

var apiConfig = new chrome.cast.ApiConfig(
     sessionRequest, 
     sessionJoinedListener, 
     receiverListener); 

sessionJoinedListener: function(session) { 
    // how to read customData here? 
} 

I-Session-Objekt inspiziert und es ist Eigenschaften und Kinder, aber es hat customData nicht enthalten. Es hat session.media[0].customData Eigenschaft, aber es ist null. Auch ich habe versucht session.media[0].media, aber es hat auch keine Daten.

Antwort

1

Basierend auf dieser documentation können Anwendungen diese Senderansicht des Empfängers immer anpassen, indem sie customizedStatusCallback verwenden und Unterzustände in das Feld customData einfügen. Es ermöglicht dem Sender und Empfänger, das Medienprotokoll einfach zu erweitern, ohne einen neuen Namespace mit benutzerdefinierten Nachrichten verwenden zu müssen. Sie können diesen verwandten SO-Thread überprüfen: How to get custom data from reciever

+0

Diese Methode ist unzuverlässig. Es funktioniert nur auf erste Anfrage. Wenn ein Benutzer die Seite aktualisiert, ist der angehängte 'customData' jetzt aus unbekannten Gründen null. –

Verwandte Themen