2015-12-15 84 views
2

是否有任何方式使用標準(桌面)Java連接到ChromeCast。我正在尋找一種方法來自動化我們的測試,並希望我們的CC:可以自動播放視頻。適用於ChromeCast的Java API

到目前爲止,我發現這個項目:

https://github.com/vitalidze/chromecast-java-api-v2

但到目前爲止,我還沒有能夠得到它的工作。

我可以使用mDNS找到Chromecast,但是當我嘗試連接到它時,我只是從CC處得到一個關閉。

我testcode:

public static void main(String[] args) { 
    try { 

     ChromeCasts.startDiscovery(); 

     // Wait for CC:s to apear 
     Thread.sleep(5000); 

     for (ChromeCast cc : ChromeCasts.get()) { 

      if (cc.getName().equals("cc02")) { 
       cc.connect(); 

       Status status = cc.getStatus(); 

       cc.disconnect(); 
      } 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

從日誌結果:

2015年12月15日19:14:37727 DEBUG [主要] su.litvak.chromecast.api.v2.Channel - - > {「type」:「StandardMessage $ Ping」} 2015-12-15 19:14:37,769 DEBUG [main] su.litvak.chromecast.api.v2.Channel - - > {「type」:「 StandardMessage $ Connect「,」origin「:{}} 2015-12-15 19:14:37,794 DEBUG [main] su.litvak.chromecast.api.v2.Channel - - > {」type「:」StandardRequest $狀態「,」requestId「:1} 2015-12-15 19:14:37,802 DEBUG [線程-4] su在線程「Thread-4」中的異常java.lang.NoSuchMethodError:org.codehaus.jackson.JsonNode.has(Ljava/lang/String;)Z at su.litvak.chromecast.api.v2.Channel $ ReadThread.run(Channel.java:127) 2015-12-15 19:14:38,771 DEBUG [sender-7hhge79m75 PING] su。 litvak.chromecast.api.v2.Channel - - > {「type」:「StandardMessage $ Ping」}

我已經得到了一個代碼的答案。所以我會回答我自己的問題。

是的,但有可能,但谷歌沒有正式支持。上述代碼的問題來自於我使用的舊傑克遜解析器。

上述項目對我們的用例工作正常。我們正在考慮擴大它。

回答

0

不,您需要使用Android,iOS和Chrome上提供的Cast SDK。另一種方法是使用使用純媒體路由器API的投射設備,這又需要Android框架等。

0

您在項目中與不同版本具有相同的依賴關係。可能你有兩個項目有傑克遜依賴,但在不同的版本。

NoSuchMethodError: org.codehaus.jackson.JsonNode.has(Ljava/lang/String;)

關於chromecast-java-api-v2,其作品很精緻,但你需要一個媒體服務器,然後通過Chromecast-Java的API-V2您要求Chrome使用的URL播放文件。