ChromeCast 的 Java API

2023-12-24

有没有办法使用标准(桌面)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","re​​questId":1} 2015-12-15 19:14:37,802 调试 [Thread-4] su.litvak.chromecast.api.v2.Channel - {"type":"StandardMessage$Ping"}

我已经得到了代码的答案。所以我会回答我自己的问题。

是的,这是可能的,但谷歌并未正式支持。上面代码的问题来自我使用的旧杰克逊解析器。

上述项目至少对于我们的用例来说工作得很好。我们正在考虑扩大它。


不可以,您需要使用 Android、iOS 和 Chrome 上提供的 Cast SDK。另一种方法是使用纯媒体路由器 API 来使用投射设备,这同样需要 Android 框架等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ChromeCast 的 Java API 的相关文章

随机推荐

  • 等宽窗扇

    我的应用程序有一个带有两个孩子的 SashForm 我希望在调整窗口大小时左孩子保持相同的大小 我想要 Eclipse 对 Package Explorer 和主编辑器做同样的事情 当您调整窗口大小时 只有文本编辑器会更改大小 但是 Pac
  • Django 子查询和带有 OuterRef 的注释

    我在使用 annotate 时遇到问题OuterRef在 Django 1 11 中的子查询 型号示例 class A models Model name models CharField max length 50 class B mod
  • IIS Express 与 VS2010 SP1 不断重建网站

    我正在使用具有多个网站项目的大型解决方案 最近决定从 Cassini 切换到 IIS Express 大约有 10 名左右的开发人员共享相同的解决方案 项目以及 web configs 除了我之外 他们都在愉快地使用 IIS Express
  • Nougat 版本的快捷方式

    当我尝试在 Intent 包中传递可序列化时 我发现了这个致命异常 我认为这与我试图实现的牛轧糖快捷方式有关 这里有一个例外 12 16 16 17 32 972 20461 20461 debug E AndroidRuntime FAT
  • Flutter 蓝牙打印到 Zebra

    我需要在 Zebra zq520 蓝牙热敏打印机上添加打印功能 我设法使用 flutter blue 插件来做到这一点 但我对实现并不满意 我讨厌将字符串分成更小的块以便通过蓝牙 并且等待 我想知道是否有更好的方法 就像我们在过去的 好 j
  • 通过套接字发送对象

    我过去做过的唯一套接字编程是简单的文本流 我想知道通过套接字发送 Java 对象之类的内容的最有效方法是什么 例如 如果我有以下 Employee 类 Dependent 将是一个由家属信息组成的简单类 public class Emplo
  • 如何禁用 esLint 上的缩进检查?

    缩进规则似乎无法禁用 如何 在配置设置中 禁用此规则 谢谢 将规则设置为 off 在你的配置中像这样 rules indent off 您可以阅读更多内容这里的文档 https eslint org docs user guide conf
  • 即使文件大小不是 0 字节,filesize() 也始终读取 0 字节

    我在下面编写了一些代码 目前我正在测试 因此代码中没有数据库查询 下面的代码说的是if filesize filename 0 总是去else即使文件不是 0 字节并且其中有 16 字节数据 我一无所获 它似乎总是认为文件是 0 字节 我认
  • 如何在 Laravel 中模拟 DB 门面?

    我正在编写单元测试 默认情况下它们不应访问数据库 按照一般规则 我总是使用 eloquent 来获取结果 但一些更复杂的查询我必须使用原始数据库 我有这个功能 public function GetPassword email result
  • Google DFP - 从内部调整 SafeFrame 自定义广告素材外部 Iframe 容器的大小(展开广告)

    我正在寻找解决方案 可以从 Google DFP 广告管理系统的自定义广告素材内部扩展 SafeFrame 自定义广告 这是否可能 有两种可能的解决方案 1 使用SafeFrame API pros 你可以 开箱即用 使用它 您可以在任何网
  • Laravel Cashier + Stripe:没有这样的客户

    我正在使用 Laravel Cashier 和 Stripe 开发 Web 应用程序的订阅 我正在使用 Stripe v3 JavaScript API 并使用卡片元素生成 Stripe 令牌 Stripe 令牌正在生成 如果您在 Stri
  • 将 TeamCity 构建配置从一台服务器导入/导出到另一台服务器

    将单个 TeamCity 构建配置从一台服务器移动到另一台服务器的最佳方法是什么 我有一个 TeamCity 本地实例 我在该实例上进行测试 然后 当构建足够成熟时 我在我们的主 TeamCity 服务器上手动创建它 眼球复制 是否有导出和
  • 静态内部类中的主要方法。?

    我了解到 Java 文件中唯一的公共类也必须具有 main 方法 但是 下面您可以看到内部类中的 main 方法吗 源文件中 main 方法定义的规则是什么 public class TestBed public TestBed Syste
  • 如何从 Node.js 调用 Python 函数

    我有一个 Express Node js 应用程序 但我也有一个可在 Python 中使用的机器学习算法 有没有办法从 Node js 应用程序调用 Python 函数来利用机器学习库的强大功能 我知道的最简单的方法是使用与节点一起打包的
  • 更改 ScrollBar 末端按钮的背景颜色

    在Java中 我一直在研究如何更改滚动条末端按钮的背景颜色 我还没有找到解释如何操作的网站 并且我还查看了 UIManager 默认值以尝试查找某些内容 但我找不到任何内容 因此 如果有人能告诉我如何更改滚动条上按钮的背景颜色 我将非常感激
  • 如何对数据框中具有特定值的所有行进行子集化

    我有一个大型数据集 其中每行包含 NA 1 和 2 的不同组合 我想对仅包含 2 和 NA 的所有行进行子集化 因此 在下面的示例中 我想自动命名 Row1 和 Row4 并为其设置子集 df lt data frame Col1 c NA
  • JavaScript 中 ' 和 " 有什么区别?

    I saw 这个问题 https stackoverflow com questions 943795 difference between and我想知道 JavaScript 中同样的事情 如果在 JavaScript 中创建字符串时使
  • DOCX 和 PDF 的版本控制?

    我一直在玩git and hg最近 我突然想到这种东西对于文档来说非常有用 我有一个在 DOCX 中编辑并导出为 PDF 的文档 我尝试同时使用git and hg对它进行版本控制 结果是hg您最终只跟踪二进制文件 并且比较没有意义 虽然与
  • jquery 可拖动可放置 删除已放置

    如何从购物车中删除该商品 当然 您希望能够将项目拖放回去 function catalog accordion catalog li draggable appendTo body helper clone cart ol droppabl
  • ChromeCast 的 Java API

    有没有办法使用标准 桌面 Java 连接到 ChromeCast 我正在寻找一种自动化测试的方法 并希望我们的 CC s 自动播放视频 到目前为止我已经找到这个项目 https github com vitalidze chromecast