2016-06-30 48 views
0

我正在構建Chromecast發件人應用程序,並且我可以成功地投射會話。但是我只能施放一次。當我斷開我的sessionListener回調永遠不會觸發,這是有問題的,因爲那是我設置我的sessionUpdate監聽器的地方。如果沒有這些,就不可能知道會話什麼時候結束,以便重置會話並進行清理,這意味着我不能重鑄任何東西,因爲我無法知道會話是否有效。Chromecast API未調用sessionListener()回調

據我可以告訴問題是在cast_sender.js這是方便混淆,所以我可能是錯的。

我設置了我的ApiConfig如下:

apiConfig = new _chrome.cast.ApiConfig(
    sessionRequest, 
    _sessionListener.bind(this), 
    _receiverListener.bind(this)); 

_receiverListener預期被激發,我已經調試cast_sender.js的地步,我可以看到我的功能_sessionListener被傳遞和在線#正確設置的cast_sender.js,這裏837:

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

該功能出現在線路#2441被調用,在這裏:

2440 b.Wf = function(a) { 
2441 this.B && this.B.sessionListener(a.message); 
2442 }; 

我在那裏設置了一個斷點,它從來沒有被調用過。在這一點上,我陷入了僵局,有什麼想法?

+0

您是否可以在使用SessionListener的CastVideos-chrome材質(https://github.com/googlecast/CVideosVideos-chrome-material)中重現此操作? –

+0

我其實認爲我已經解決了這個問題。我根據github中的CastHelloText-chrome示例設置了發件人,這似乎是錯誤地設置了會話。我今天晚些時候會提交我的修復請求。 –

+0

@AliNaddaf https://github.com/googlecast/CastHelloText-chrome/pull/14 –

回答