我最近将Chromecast应用转换为自定义接收器。我还在使用Cast Companion Library。自定义接收器基本上基于此https://github.com/googlecast/cast-custom-receiver/blob/master/sample_media_receiver.html,唯一的变化是添加徽标和加载屏幕并注释掉这一行appConfig.maxInactivity = 6000;
虽然起初我没有注释掉它但仍然有同样的问题。
无论如何,问题很简单,只有少数人才会遇到。它发生在我的一个测试设备上,不是全部,而不是总是。基本上我开始播放视频,一切都很好,然后设备屏幕熄灭,当我再次关闭它时,应用程序已经与Chromecast断开连接。我没有设置wifi在睡觉时关闭,并且所有抱怨此声称的用户声称他们的设备也没有打开该设置。
当我切换到自定义接收器时发生这种情况可能是巧合,但我只是想确保没有东西需要添加到我的自定义接收器以告诉CCL代码保持连接?
感谢。
答案 0 :(得分:5)
我今天遇到了类似的问题。此行为的主要原因是,只要发件人(在您的情况下是电话)被锁定(睡眠模式),就会在接收方触发senderDisconnected事件。如果你检查event.reason,它将是未知的,所以你可能检查原因,如果它未知,那么不要停止接收器上的播放(window.close)。
当发件人本身断开连接时,event.reason为" disconnected_from_sender"。
我希望这会有所帮助。
它与maxInactivity无关。
答案 1 :(得分:1)
手机进入睡眠状态时断开wifi的政策取决于品牌和供应商。目前,Cast SDK保持锁定以保持wifi连接,只要有连接,但即使这不是100%保证适用于所有手机/型号/供应商/ ....这与此无关你的接收者。正确的解决方案是在手机进入睡眠状态时不要尝试对抗wifi断开,而是在手机唤醒并重新建立wifi连接时必须考虑添加一些逻辑来恢复转换连接(注册广播接收器以收听用于wifi连接的变化)。