单个网页上的多个 Chromecast 发件人

Posted

技术标签:

【中文标题】单个网页上的多个 Chromecast 发件人【英文标题】:Multiple Chromecast senders on a single web page 【发布时间】:2018-02-22 14:26:12 【问题描述】:

我们发现当有多个嵌入 Chromecast 插件的播放器可用时,Chromecast 插件无法注册两个投射按钮。

可见的控制台错误是: 未捕获的 DOMException:无法在“文档”上执行“registerElement”:“google-cast-button”类型的注册失败。已注册具有该名称的类型。

似乎演员框架正在将第二个按钮的 css 属性更改为 display:none 一旦有其他玩家使用它。

表示错误的测试页面:https://jsbin.com/repivowuge/edit?html,js,output

        <!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <h2>Chromecast 'google-cast-button' error, toggle browser console to see</h2>
  <h3>Player 1</h3>
<script src="https://cdnapisec.kaltura.com/p/1673641/sp/167364100/embedIframeJs/uiconf_id/41860021/partner_id/1673641"></script>
<div id="kaltura_player_1519307906" style="width: 560px; height: 395px;"></div>
<script>
kWidget.embed(
  "targetId": "kaltura_player_1519307906",
  "wid": "_1673641",
  "uiconf_id": 41860021,
  "flashvars": 
    "streamerType": "auto",
    "chromecast.plugin": true
  ,
  "cache_st": 1519307906,
  "entry_id": "1_4bc211jv"
);
</script>
    <h3>Player 2</h3>
<div id="kaltura_player_1519307903" style="width: 560px; height: 395px;"></div>
<script>
kWidget.embed(
  "targetId": "kaltura_player_1519307903",
  "wid": "_1673641",
  "uiconf_id": 41860021,
  "flashvars": 
    "streamerType": "auto",
    "chromecast.plugin": true
  ,
  "cache_st": 1519307906,
  "entry_id": "1_4bc211jv"
);
</script>
</body>
</html>

【问题讨论】:

【参考方案1】:

拍摄from here,谷歌官方对此事的回答

感谢您报告问题。看起来你正在加载 发件人在页面中两次。通常,您可以有多个按钮 该页面但是“google-cast-button”注册将是一个。 从错误信息来看,表示该类型正在注册中 两次。

我们不支持两次注册“google-cast-button”。

因此,如果您将 &lt;button is="google-cast-button"&gt;&lt;/button&gt; 用作 CAF 发件人的 recommended here,那么您只能拥有其中一个。第二个需要是自定义按钮。

【讨论】:

以上是关于单个网页上的多个 Chromecast 发件人的主要内容,如果未能解决你的问题,请参考以下文章

从一个发件人控制多个 Chromecast 接收器?

Chromecast API 发件人 - Android 手机

从 Android 发件人应用程序进行 Chromecast 时更新电视上的搜索栏

检测我是不是是唯一连接到 Chromecast 设备的 Chromecast 发件人应用

ChromeCast 发件人发现逻辑

chromecast 发件人示例中的 Android 空指针