问题标签 [chromecast]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
459 浏览

javascript - chromecast 如何连接到 chrome 发送者,为什么它似乎增加了会话变量?

我的 Chrome 发送器和 ChromeCast 之间有一个工作连接,因为我可以在两者之间正确发送和接收消息,但是每次发送器连接时,它都会创建一个新连接,同时增加我猜想的会话变量:ws ://localhost:8008/session?x ,其中 x 是递增的数字。

我想知道两件事:

  1. 为什么它会在每个连接上增加会话变量?是设计使然吗?还是我未能正确关闭连接?从我可以看到连接默认发送一个关闭事件,但我可能是错的。

  2. 如果会话是按设计更新的,是否有办法检测以前的会话并在一侧仍处于活动状态时连接到这些会话?

编辑:我知道 Chrome 发送方 API 不支持 Android TicTacToe 演示应用程序中描述的多连接场景,但我询问的目的是因为当这个“会话”变量增加到某个点时,其他应用程序,例如 YouTube Android 应用程序,开始不规则地执行,似乎是因为 WebSocket 连接滞后。我真的很想知道为什么这个连接会增加。根据我的测试,它纯粹是设计使然,可能确保每个客户端都获得与 ChromeCast 的唯一连接(即防止下面提到的多控制器场景)。

0 投票
1 回答
599 浏览

google-cast - 自定义接收器如何使用“ramp”命名空间,或者我可以修改示例应用程序以使用自定义命名空间而不重写对 RAMP 的支持?

自定义接收器如何使用“ramp”命名空间,或者如何修改示例应用程序以使用自定义命名空间而不重写 RAMP 协议的支持(Android 中的 MediaProtocolMessageStream 或 iOS 中的 GCKMediaProtocolMessageStream)?

我无法使 Android 或 iOS Chromecast 示例应用程序与基于 dash.js 的自定义接收器通信(通过 Javascript 播放 MPEG DASH 的参考客户端实现 - https://github.com/Dash-Industry-论坛/dash.js)。这似乎是由于 Android / iOS Chromecast SDK 上的“ramp”命名空间被硬编码(最终 const)和 dash.js 接收器由于某种原因无法使用“ramp”的命名空间(根据http:// www.digitalprimates.net/author/tapper/2013/08/27/chromecast_dash/

当使用默认情况下使用的命名空间 dash.js 时,我可以从 Chrome 中的 Javascript 发送器很好地投射 MPEG-DASH。当尝试通过 Android 或 iOS 与我的自定义接收器交互时,Chromecast 设备可以正常加载接收器页面,但从未收到包含媒体 URL 的加载命令。当自定义接收器设置为使用“ramp”命名空间(媒体播放的默认值)时,甚至会发生这种情况。此外,当命名空间设置为“斜坡”时,我的自定义接收器在 Chrome 中停止工作。

0 投票
1 回答
3294 浏览

google-cast - Chromecast 接收器应用程序错误:WebSocket 意外断开:未定义

我正在尝试获取基本的 chromecast 应用程序设置,我可以在其中将简单的自定义消息从桌面 Chrome 发送到 Chromecast 接收器。设备已列入白名单,并且应用程序源位于白名单过程中指定的 url。此外,正在使用正确的 API_ID,并且接收方和发送方应用程序的 NAMESPACE 相同。

接收器应用程序加载,但之后我得到:

这似乎使我无法向 Chromecast 发送自定义消息。

从发送方应用程序中,我能够找到设备、连接并启动接收方应用程序。我还能够正确断开与发送方的 stopActivity() 调用的连接。

接收器的设置是:

Chromecast 设备的完整日志是(实际的 appId 已删除):

任何有关此事的帮助将不胜感激!谢谢!

0 投票
2 回答
4410 浏览

google-cast - chromecast 现在支持 MPEG-DASH 吗?

我有 3 个问题。在发布之前我一直试图找到答案,但失败了。如果您知道一点,请留下简短的评论。

  • 问题 #1

    Chromecast 现在支持 MPEG-DASH 吗?我已经测试了一个示例程序(cast-chrome,由 google 提供)通过将 url 替换为 MEPG-DASH MPD URL 来播放 MPEG-DASH 流。但是设备无法播放流。我想知道 MPEG-DASH 现在可以在 Developer Preview SDK 中使用。还是我必须等到最终的sdk可用?

  • 问题2

    Chromecast 是否支持 MPEG-DASH 的 MPEG2-TS 容器格式?

  • 问题 #3

    WebM 容器格式是否可用于 MPEG-DASH?

0 投票
1 回答
527 浏览

google-cast - cast.Api.loadMedia() 中的请求超时

我已将我的 Chromecast 列入白名单,并且正在开发一些发送方和接收方应用程序。

在一两秒后,当媒体开始在 Chromecast 设备上播放时,遇到了回调返回“请求超时”的奇怪问题。

返回的状态 launchCallback 是:

这种情况偶尔会发生,具体取决于 Chromecast 设备上的视频加载速度。但是超时(可能是 1 到 2 秒)发生得如此之快,以至于它在大约一半的时间内返回失败。我在这里做错了吗?

0 投票
2 回答
285 浏览

google-cast - 设备状态变化时的 cast.Api.addReceiverListener() 回调

根据cast.Api.addReceiverListener()上的 Chromecast API ,该方法的描述如下:

添加一个侦听器函数,该函数具有支持给定活动类型的当前接收器列表。添加后,将立即使用当前列表调用侦听器,并且每当接收器列表更改时。

isTabProjected为什么设备状态发生变化时不调用回调。当这种状态发生变化时,我还能如何获得回调?

0 投票
1 回答
2587 浏览

chromecast - 初始 chromecast 设置

很高兴终于有时间尝试在我的 chromecast 上进行开发,但唉……似乎甚至无法开始。

我填写了白名单请求,收到了周五确认的电子邮件(正好赶上周末!),然后我开始查看样本,并根据我发现的一些样本让 hello world 正常工作。

  1. 配置 chrome cast 以通过 Mac chromecast 应用程序将序列发送到 google
  2. 将开发人员菜单中的网址列入白名单
  3. 验证接收方代码实际上与注册说明的 URL 相同(从确认电子邮件中粘贴副本并且有效)。

发生的情况是我从我的服务器或本地主机打开我的发件人 HTML,但我似乎无法显示 chromecast(是的,我在同一个网络上)。

我在代码中添加了日志以验证是否收到了事件消息并且没有收到,所以我猜这是扩展无法验证应用程序 ID 的问题。

有我可以查看的扩展日志吗?

这是发件人代码:

唯一被记录的是“初始化脚本”行。

先感谢您,

铬。

编辑:我会将阿里的答案标记为答案,因为他让我走上了修复它的道路:调试意味着白名单已经完成,让我查看了我这边的配置:

  1. 文件:// URL 不起作用
  2. 当我在本地设置自己的 Web 服务器时,使用 localhost/sender.html 它可以立即工作。
  3. 白名单必须准确且不包括协议(显然)。我已将我的网址列入白名单 : http://myserver/mypath/sender.html,但它不起作用,最后添加myserver/mypath/sender.html使它完美地工作。

也许可以更新文档以反映这一点?

0 投票
0 回答
544 浏览

google-cast - 第三方 Google Cast 设备

Google Cast 是否对第三方接收设备(DIAL 第一屏设备)开放,还是 ChromeCast 仍然是唯一的选择?我们能否期望 SmartTV 制造商原生支持投射协议,从而不再需要 ChromeCast 设备?

作为开发人员,我必须实现什么才能成为 Google Cast 设备?

0 投票
1 回答
353 浏览

google-cast - ChromeCast 仅适用于视频吗?

ChromeCast 和/或 Google Cast 协议可以运行非视频应用吗?

换句话说,是否可以创建一个在 ChromeCast 上运行并由智能手机/平板电脑控制的 html5 应用程序?

0 投票
1 回答
812 浏览

chromecast - 从命令行投射选项卡

是否可以通过命令行投射选项卡?我想在页面上加载视频,然后告诉 google chrome 进行投射。

我查看了 chrome.exe 可用的所有开关,但不确定从哪里开始。