2014-06-22 67 views
1

我最近將我的Chromecast應用程序切換到自定義接收器。我仍在使用Cast Companion庫。自定義接收器基本上是基於這個https://github.com/googlecast/cast-custom-receiver/blob/master/sample_media_receiver.html唯一的變化是添加一個標誌和加載屏幕,並註釋掉這條線appConfig.maxInactivity = 6000;雖然起初我沒有註釋掉,仍然有同樣的問題。切換到自定義接收器後從Chromecast斷開連接

反正這個問題很簡單,只發生在少數人身上。它發生在我的一個測試設備上,並非全部,也並非總是如此。基本上我開始流式傳輸視頻,並且一切正常,然後設備屏幕熄滅,當我再次關閉設備時,應用程序已與Chromecast斷開連接。我沒有在睡覺時關閉wifi設置,所有抱怨此設備的用戶也沒有打開設置。

這可能是巧合,當我切換到自定義接收器時發生這種情況,但我只是想確保沒有需要添加到我的自定義接收器來告訴CCL代碼保持連接狀態?

謝謝。

回答

1

當您的手機進入睡眠狀態時,斷開wifi的策略取決於品牌和供應商。目前,Cast SDK擁有鎖定功能,只要存在連接即可連接wifi,但即使這樣也不能100%保證適用於所有手機/型號/供應商/ ....這與無關你的接收器。正確的解決方案不是在手機進入睡眠狀態時嘗試與wifi斷開連接,而是必須考慮添加一些邏輯來恢復手機喚醒時的連接,並重新建立WiFi連接(註冊廣播接收器以聽取爲無線連接變化)。

+0

接收器應用程序已關閉時,如何「恢復演員連接」?阻止它關閉的唯一方法是以某種方式保持發送請求,即使在睡眠模式(後臺服務?)。 –

+0

原文不是關於收件人撕毀,而是發件人應用程序斷開連接。如果您有不同的問題/情況,我建議您發佈一個新問題。 –

5

今天我面臨類似的問題。這種行爲的主要原因是,只要發件人(在您的手機中)被鎖定(睡眠模式),接收方就會觸發senderDisconnected事件。如果你檢查event.reason,它將是未知的,所以你可以檢查原因,如果它未知,那麼不要停止接收器(window.close)上的播放。

當發送方本身斷開連接時,event.reason是「disconnected_from_sender」。

我希望這會有所幫助。

它與maxInactivity無關。

+0

謝謝。這正是我的設備進入睡眠模式並因此停止接收器應用程序的問題。檢查'event.reason'以及在進入睡眠狀態時保持發送請求(任務計劃程序)允許我的應用程序即使在鎖定狀態下也能繼續運行。 –

相關問題