我有一个自定义投射接收器,在屏幕上显示一些文字。我希望接收器即使在发送者断开连接后也能保持活动状态(例如,演员表由Chrome浏览器启动,然后用户关闭浏览器)。现在发生的事情是接收器保持活动状态大约15秒然后关闭。
我尝试过以下方式使用setInactivityTimeout,但它似乎没有做任何事情。
cast.framework.CastReceiverContext.getInstance().setInactivityTimeout(Number.MAX_VALUE);
答案 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)
发件人和收件人之间有一条心跳消息。如果该消息超时,则通常接收器将自行关闭。