【问题标题】:Chromecast event for device disconnect (sender)设备断开连接的 Chromecast 事件(发送者)
【发布时间】:2014-03-26 11:37:59
【问题描述】:

当用户从 chrome 扩展中选择“停止投射”时,是否有事件会通知发送方应用?

如果用户选择停止从扩展程序而不是应用程序投射按钮的投射,我的 chrome 发送器应用程序处于不确定状态。

编辑: 这是一些相关的代码:

CastPlayer.prototype.onMediaDiscovered = function (how, mediaSession) {
  this.currentMediaSession = mediaSession;
  // ...    
  this.currentMediaSession.addUpdateListener(this.onMediaStatusUpdate.bind(this));
  // ...
};

CastPlayer.prototype.onMediaStatusUpdate = function (e) {
  console.log(e);
};

【问题讨论】:

    标签: google-chrome google-chrome-extension google-cast chromecast


    【解决方案1】:

    你试过Session.addUpdateListener(listener) 吗?我认为当会话不再活动时会通知侦听器。

    【讨论】:

    • 感谢您的输入,目前我确实为会话绑定了一个监听器,当使用this.session.stop() 终止会话时,相同的监听器按预期工作,但在使用关闭会话时它不会收到任何内容扩展名。我已经在问题中添加了一些代码,也许我遗漏了一些东西......
    • 从您发布的代码来看,您似乎指的是媒体会话和那里的听众。如果是这种情况,则该侦听器只会收到有关媒体状态的通知并在那里更改。我指的是会话和监听器(请参阅我之前回答中的方法的链接)。你指的是同一个吗?
    • 这是真的!我还没有意识到有媒体会话,你能指点我关于那个的文档吗?从我在文档loadMediasuccessCallback 中看到的是一个函数将 chrome.cast.media.Media 作为参数function(chrome.cast.media.Media) 传递,这令人困惑!从@angel-custodio 答案中指出的代码示例中,您可以看到处理函数updates a variable this.currentMediaSession 带有参数mediaSession。除了我的怀疑之外,这个加上代码示例解决了我的问题。谢谢!
    【解决方案2】:

    Google 开发人员似乎很清楚这一点! :D 他们刚刚更新了他们的发件人示例代码,提交的内容正是您正在寻找的内容:Added session update listener to handle disconnect by clicking cast extension

    在另一个示例中还有另一个具有相同文本但代码更少的提交,这里有:https://github.com/googlecast/CastHelloVideo-chrome/commit/776559c9aaf16d7d82c62ee4dea611b6177ac217

    【讨论】:

    • 感谢您提供的代码示例,它有助于完成@ali-naddaf 提供的答案
    猜你喜欢
    • 2016-01-30
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 2017-05-06
    • 2012-07-15
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    相关资源
    最近更新 更多