Ich erstelle eine Chromecast-Absenderanwendung und kann erfolgreich eine Sitzung übertragen. Allerdings kann ich nur einmal casten. Wenn ich den sessionListener-Rückruf abbringe, wird der Callback nie ausgelöst, was problematisch ist, da ich dort meinen sessionUpdate
Listener gesetzt habe. Ohne dass es nicht möglich ist, zu sagen, wann eine Sitzung endet, um die Sitzung zurückzusetzen und aufzuräumen, was bedeutet, dass ich nichts neu formulieren kann, weil ich nicht weiß, ob eine Sitzung gültig ist oder nicht.Chromecast-API ruft nicht auf sessionListener() ruft zurück
Soweit ich feststellen kann, das Problem ist in cast_sender.js
, die bequem verschleiert ist, so könnte ich falsch liegen.
Ich gründe meine ApiConfig sich wie folgt zusammen:
apiConfig = new _chrome.cast.ApiConfig(
sessionRequest,
_sessionListener.bind(this),
_receiverListener.bind(this));
_receiverListener
abgefeuert wird, wie erwartet, und ich habe cast_sender.js
auf den Punkt debuggt, wo ich meine Funktion _sessionListener
wird eingeleitet und richtig eingestellt auf Linie # sehen 837 von cast_sender.js
, hier:
835 chrome.cast.dd = function(a, c, d, e, f) {
836 this.sessionRequest = a;
837 this.sessionListener = c;
838 this.receiverListener = d;
839 this.autoJoinPolicy = e || chrome.cast.Fb.TAB_AND_ORIGIN_SCOPED;
840 this.defaultActionPolicy = f || chrome.cast.Jb.CREATE_SESSION;
841 this.customDialLaunchCallback = null;
842 };
die Funktion auf der Linie # 2441, hier genannt zu werden scheint:
2440 b.Wf = function(a) {
2441 this.B && this.B.sessionListener(a.message);
2442 };
Ich habe dort einen Haltepunkt gesetzt und es wird nie aufgerufen. An diesem Punkt bin ich in eine Sackgasse geraten, irgendwelche Gedanken?
Können Sie dies in CastVideos-Chrome-Material (https://github.com/googlecast/CastVideos-chrome-material) reproduzieren, die den SessionListener auch verwendet? –
Ich glaube eigentlich, ich habe das Problem gelöst. Ich habe meinen Sender basierend auf dem CastHelloText-chrome-Beispiel in GitHub eingerichtet, das die Sitzung scheinbar falsch setzt. Ich werde heute eine Pull-Anfrage für meinen Fix einreichen. –
@AliNaddaf https://github.com/googlecast/CastHelloText-chrome/pull/14 –