我正在构建Chromecast Sender应用程序,我可以成功投出会话。但是我只能施展一次。当我断开sessionListener时,回调永远不会触发,这是有问题的,因为这是我设置sessionUpdate
侦听器的地方。如果没有它,就无法确定会话何时结束以重置会话并进行任何清理,这意味着我无法重新设置任何内容,因为我无法知道会话是否有效。
据我所知,cast_sender.js
中的问题很容易被混淆,所以我可能错了。
我按照以下方式设置我的ApiConfig:
apiConfig = new _chrome.cast.ApiConfig(
sessionRequest,
_sessionListener.bind(this),
_receiverListener.bind(this));
_receiverListener
按预期触发,我调试了cast_sender.js
,我可以看到我的函数_sessionListener
被传入并在{{1}的#837行上正确设置},这里:
cast_sender.js
该功能似乎在第2441行调用,此处:
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 };
我在那里设置了一个断点,它永远不会被调用。在这一点上,我已陷入僵局,有什么想法吗?
答案 0 :(得分:0)
我发现回调中的问题来源已传递给我在此处复制/粘贴的示例代码的cast.requestSession()
函数https://github.com/googlecast/CastHelloText-chrome/blob/master/chromehellotext.html#L162
我已经提交了一个解决问题的拉取请求,解决了这里的问题https://github.com/googlecast/CastHelloText-chrome/pull/14但是我怀疑它会被考虑到看起来他们有几年没有问题的PR队列。