【问题标题】:Keep Chromecast CAF receiver alive after sender disconnect发送者断开连接后保持 Chromecast CAF 接收器活动
【发布时间】:2018-10-29 02:02:42
【问题描述】:

我有一个自定义投射接收器,可以在屏幕上显示一些文本。我希望接收者即使在发送者断开连接后仍保持活动状态(例如,演员由 Chrome 浏览器启动,然后用户关闭浏览器)。现在发生的情况是接收器保持活动状态大约 15 秒,然后关闭。

我尝试通过以下方式使用 setInactivityTimeout,但它似乎没有做任何事情。

cast.framework.CastReceiverContext.getInstance().setInactivityTimeout(Number.MAX_VALUE);

【问题讨论】:

    标签: javascript google-chrome chromecast google-cast


    【解决方案1】:

    发送者和接收者之间有心跳消息。如果该消息超时,则接收方通常会自行关闭。

    【讨论】:

      【解决方案2】:

      不幸的是,一旦发送方断开连接,默认行为是关闭接收方应用程序。

      我不确定这是否会有所帮助,但是当我遇到这个问题时,我发现接收器媒体状态会切换到 idle,这会导致接收器默认超时,无法通过setInactivityTimeout 上面的电话(我想可能会有第二个无法更改的超时调用?)。

      作为 hack-y 解决方法,尝试在接收器上加载不存在的媒体,例如:

      window.setInterval(() => {
         const message = new cast.framework.messages.LoadRequestData();
         message.media.contentId = 'https://example.com/fake/z00123.pic-o-me.jpg';
         playerManager.load(message)
         .then(() => {
         }).catch((err) => {
           return;
         });
      }, 90000);
      

      超时通常在我看到的最后一次更改后约 5 分钟后发生,但我在那个时间范围内遇到了问题,所以我将我的时间缩短到 1 1/2 分钟(如上所示)。

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2018-08-07
        • 2014-03-26
        • 2014-08-12
        • 2018-03-16
        • 2015-07-28
        • 2020-05-03
        • 2019-01-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多