有没有办法用标准的(桌面) Java连接到ChromeCast?我正在寻找一种方法来自动化我们的测试,并希望我们的抄送:自动播放视频。
到目前为止,我找到了这个项目:
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调试main 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",“Status”:{}} 2015-12-15 19:14:37,794 DEBUG main su.litvak.chromecast.api.v2.Channel --> {"type":"StandardRequest$Status","requestId":1} 2015-12-15 19:14:37,802调试线程-4 su.litvak.chromecast.api.v2.Channel - <-- {"type":"CLOSE"}线程“java.lang.NoSuchMethodError-4”java.lang.NoSuchMethodError异常:)Z at su.litvak.chromecast.api.v2.Channel$ReadThread.run(Channel.java:127) 2015-12-15 19:14:38,771调试发送方-7hhge79m75 PING su.litvak.chromecast.api.v2.Channel -> {"type":"StandardMessage$Ping"}
我已经得到了代码的答案。因此,我将回答我自己的问题。
是的,这是可能的,但没有得到谷歌的官方支持。上面代码的问题来自我使用的一个旧的jackson解析器。
上面的项目至少对我们的用例很好。我们正在考虑扩展它。
发布于 2015-12-16 03:27:22
不需要,您需要使用安卓、iOS和Chrome提供的Cast SDK。另一种方法是使用使用纯媒体路由器API的cast设备,这同样需要Android框架等。
发布于 2017-11-02 07:51:10
您的项目中的不同版本具有相同的依赖项。可能你有两个项目有Jackson依赖,但版本不同。
NoSuchMethodError: org.codehaus.jackson.JsonNode.has(Ljava/lang/String;)
关于chromecast-java-api-v2,它运行得很好,但是你需要一个媒体服务器,然后你请求的chromecast-java-api-v2通过一个url来播放你的文件。
https://stackoverflow.com/questions/34296635
复制相似问题