【问题标题】:Getting disconnected from Chromecast after switching to custom receiver切换到自定义接收器后与 Chromecast 断开连接
【发布时间】:2014-08-12 15:57:52
【问题描述】:

我最近将我的 Chromecast 应用切换为自定义接收器。我仍在使用 Cast Companion Library。自定义接收器基本上基于此https://github.com/googlecast/cast-custom-receiver/blob/master/sample_media_receiver.html,唯一的变化是添加了徽标和加载屏幕并注释掉了这一行appConfig.maxInactivity = 6000;,尽管起初我没有将其注释掉并且仍然有同样的问题。

无论如何,这个问题很简单,只发生在少数人身上。它发生在我的一个测试设备上,不是全部,也不是总是。基本上我开始流式传输视频,一切都很好,然后设备屏幕熄灭,当我再次将其关闭时,应用程序已与 Chromecast 断开连接。我没有将 wifi 设置为在睡觉时关闭,所有抱怨此问题的用户都声称他们的设备也没有打开该设置。

这可能是一个巧合,当我切换到自定义接收器时发生了这种情况,但我只是想确保不需要添加到自定义接收器来告诉 CCL 代码保持连接?

谢谢。

【问题讨论】:

    标签: chromecast google-cast


    【解决方案1】:

    我今天遇到了类似的问题。这种行为的主要原因是,一旦发送者(在你的情况下是手机)被锁定(睡眠模式),那么在接收者端就会触发 senderDisconnected 事件。如果您检查 event.reason,它将是未知的,因此您可能会检查原因,如果未知,则不要停止接收器上的播放(window.close)。

    当发送者自身断开连接时,event.reason 为“disconnected_from_sender”。

    我希望这会有所帮助。

    与maxInactivity无关。

    【讨论】:

    • 谢谢。这正是我的设备进入睡眠模式并因此停止接收器应用程序的问题。检查event.reason 以及在进入睡眠状态时继续发送请求(任务调度程序)允许我的应用程序即使在锁定状态下也能继续运行。
    【解决方案2】:

    手机进入睡眠状态时断开 wifi 的策略确实取决于品牌和供应商。目前,只要有 cast 连接,Cast SDK 就会锁定以保持 wifi 连接,但即使这样也不能 100% 保证适用于所有手机/型号/供应商/...。这与你的接收器。正确的解决方案是不要尝试在手机进入睡眠状态时对抗 wifi 断开连接,而是您必须考虑添加一些逻辑以在手机唤醒并重新建立 wifi 连接时恢复投射连接(注册广播接收器以收听用于 wifi 连接更改)。

    【讨论】:

    • 当接收器应用程序已经关闭时,如何“恢复投射连接”?阻止它关闭的唯一方法是,即使在睡眠模式下(后台服务?),也要以某种方式继续发送请求。
    • 原来的帖子不是关于接收方拆除,而是发送方应用程序断开连接。如果您有不同的问题/情况,我建议您发布一个新问题。
    猜你喜欢
    • 2021-11-03
    • 1970-01-01
    • 2018-10-29
    • 2014-10-04
    • 2014-12-25
    • 2018-09-20
    • 2014-03-10
    • 2019-01-03
    相关资源
    最近更新 更多