有没有办法使用标准(桌面)Java 连接到 ChromeCast。我正在寻找一种自动化测试的方法,并希望我们的 CC:s 自动播放视频。
到目前为止我已经找到这个项目:
https://github.com/vitalidze/chromecast-java-api-v2 https://github.com/vitalidze/chromecast-java-api-v2
但到目前为止我还没能让它发挥作用。
我可以使用 mDNS 很好地找到 Chromecast,但是当我尝试连接到它时,我只是从 CC 处关闭。
我的测试代码:
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:37,727 调试 [主要] su.litvak.chromecast.api.v2.Channel - --> {"type":"StandardMessage$Ping"}
2015-12-15 19:14:37,769 调试 [main] su.litvak.chromecast.api.v2.Channel - --> {"type":"StandardMessage$Connect","origin":{}}
2015-12-15 19:14:37,794 调试 [主要] su.litvak.chromecast.api.v2.Channel - --> {"type":"StandardRequest$Status","requestId":1}
2015-12-15 19:14:37,802 调试 [Thread-4] su.litvak.chromecast.api.v2.Channel - {"type":"StandardMessage$Ping"}
我已经得到了代码的答案。所以我会回答我自己的问题。
是的,这是可能的,但谷歌并未正式支持。上面代码的问题来自我使用的旧杰克逊解析器。
上述项目至少对于我们的用例来说工作得很好。我们正在考虑扩大它。