2017-03-23 53 views
0

我有一個不是投射設備的遠程回放設備(現在讓我們稱他爲Johnny 5)。在非投射設備上使用投射功能

從客戶端應用程序中,我希望能夠將內容投射到Chromecast或我的Johnny 5設備。該應用程序基於Cast SDK v3

爲了集成我的非投射設備,我構建了一個媒體路由器提供商並擴展了類。會話提供者被添加到我的OptionsProvider類的getAdditionalSessionProviders方法中。

我設法讓事情有效:我的設備出現在使用Chromecast檢測到的設備列表中(感謝MediaRouterProvider),當我選擇它時,會話開始,然後我可以在其上投射內容。

但是,它好像對象是Google特定的(不能用於非投射設備),就像很多Cast SDK功能(微型控制器,擴展控制器...)。

這裏的問題關於演員對話框,遙控器通知和鎖定屏幕:是否可以將這些與我的非演員設備一起使用?或者我必須編碼整個「模仿」Cast SDK功能?

關於Cast對話框,我希望能夠對其進行自定義,使其具有與Chromecast相同的行爲,而無需編寫自己的設備選擇器或覆蓋默認按鈕行爲。

回答

0

大部分工作都會在您身邊,編碼大部分的非演員設備。正如您所注意到的,Cast API不會與CastSessions以外的會話交互。因此,您的選擇是編寫一個已由Cast SDK實施的用於投射設備的接口,以及您爲非投射設備編寫的接口,並嘗試儘可能多地使用該通用接口。獲取鎖屏等事情等於創建MediaStyle通知; CastSdk處理涉及CastSession時的情況,並且在涉及不同類型的Session時需要創建類似的通知。幾乎所有Cast SDK提供的UI元素都是如此。

+0

謝謝阿里。這對我來說意味着很多工作;) – w00ly

+0

自從上次更新播放服務(11.5.09)以來,我的Session子類的「開始」方法不再被調用。我被困在「會話開始」事件中。這是你知道的錯誤嗎? – w00ly