在发件人断开连接后,让Chromecast CAF接收器保持活动

时间:2018-05-18 15:20:44

标签: javascript google-chrome chromecast google-cast

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

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

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

2 个答案:

答案 0 :(得分:1)

默认情况下,一旦发件人断开连接,就会关闭接收器应用程序。

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

作为一种黑客攻击方法,请尝试在接收器上加载不存在的媒体,例如:

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分钟(如上所示)。 / p>

希望这有帮助!

答案 1 :(得分:0)

发件人和收件人之间有一条心跳消息。如果该消息超时,则通常接收器将自行关闭。