首页 > 解决方案 > 发送者断开连接后保持 Chromecast CAF 接收器活动

问题描述

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

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

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

标签: javascriptgoogle-chromechromecastgoogle-cast

解决方案


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

我不确定这会有所帮助,但是当我遇到这个问题时,我发现接收器媒体状态会切换到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 分钟(如上所示)。

希望这可以帮助!


推荐阅读