javascript - 发送者断开连接后保持 Chromecast CAF 接收器活动
问题描述
我有一个自定义投射接收器,可以在屏幕上显示一些文本。我希望接收者即使在发送者断开连接后仍保持活动状态(例如,演员由 Chrome 浏览器启动,然后用户关闭浏览器)。现在发生的是接收器保持活动状态约 15 秒,然后关闭。
我试过以下列方式使用 setInactivityTimeout ,但它似乎没有做任何事情。
cast.framework.CastReceiverContext.getInstance().setInactivityTimeout(Number.MAX_VALUE);
解决方案
不幸的是,默认行为是在发送方断开连接后关闭接收方应用程序。
我不确定这会有所帮助,但是当我遇到这个问题时,我发现接收器媒体状态会切换到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 分钟(如上所示)。
希望这可以帮助!
推荐阅读
- gnuplot - Gnuplot multiplot 中的双列图
- php - 如何使用 preg_replace 和 preg_quote 处理字符串(不区分大小写)?
- content-management-system - 如何在 Magnolia 应用程序中使用 FreeMarker 模板?
- c++ - 如何使用 cpp 将 z3 表达式转换为字符串?
- python - 检查 value pandas 的存在
- php - ajax问题:未定义的索引,请问我该怎么办?
- python - 我的 CNN 中的激活看起来不正确 - 还是热图有问题?
- vue.js - 在 Electron 和 Vue 中加载预加载脚本
- c - d2i_RSA_PUBKEY 总是返回 NULL
- ruby-on-rails - 大学笔记应用程序的高效数据库设计