【问题标题】:Have two instances of a Chrome Cast App connect to the same session让 Chrome Cast 应用程序的两个实例连接到同一个会话
【发布时间】:2013-08-12 15:38:01
【问题描述】:

我正在尝试重现井字游戏示例中的一些功能,但使用的是 Chrome Cast API。有谁知道如何将运行 Chrome 和 Cast 扩展程序的多台设备连接到单个 Cast 会话?

唯一记录在案的(有点)连接方式是使用api.launch 方法,当从第二个设备调用该方法时,它会重新打开重新加载所有内容的接收器页面(断开第一个设备的连接)。

我还尝试通过 POST 到 http://:8008/connection/ 来创建一个新连接,这会返回一个 WebSocket URL。当我尝试将 WebSocket 连接到该 ws:// URL 时,我收到“意外响应代码:408”并且无法连接。

【问题讨论】:

  • 啊,也许我遗漏了一些明显的东西。我稍后会调查,但我的想法是 webapp 应该将 activityId 从客户端发送到服务器。当新客户端到达页面时,他们将扫描网络以查找接收者。当他们看到一个接收者时,他们会询问 webapp 服务器是否有该接收者的任何现有活动。如果是这样,也许它可以开始向 Cast API 传递从 webapp 服务器检索到的 activityId。
  • 不,这不起作用。我尝试在另一个浏览器中使用相同的 activityId 并收到错误“活动不存在”。
  • 目前遇到同样的问题,你找到解决这个问题的方法了吗?
  • 注意:我已经向错误跟踪器添加了一个关于此的问题:code.google.com/p/google-cast-sdk/issues/detail?id=75

标签: google-chrome google-cast


【解决方案1】:

您可以尝试在chrome.cast.ApiConfig 处指定AutoJoinPolicy。如果您将此值设置为chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,它将在不同的窗口上工作(不确定它如何与不同的 chrome 实例一起工作)。

例如:

apiConfig = new chrome.cast.ApiConfig(
  sessionRequest,
  this.sessionListener.bind(this),
  this.receiverListener.bind(this),
  chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED
);

试一试!

【讨论】:

  • 感谢您的回答,我有一段时间没有回到我的 chromecast 但如果我把它挖出来我会试一试
猜你喜欢
  • 1970-01-01
  • 2012-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 1970-01-01
  • 2012-03-29
相关资源
最近更新 更多