ChromeCast - 空接收者列表

Posted

技术标签:

【中文标题】ChromeCast - 空接收者列表【英文标题】:ChromeCast - Empty receiver list 【发布时间】:2013-12-21 07:16:56 【问题描述】:

我正在开发一个发送方/接收方应用程序,但在我的发送方应用程序中,总是得到一个空的接收方列表。

我做到了:

将我的 ChromeCast 和接收者页面列入白名单,并且我从 Google 收到了我的应用 ID 勾选复选框:“检查更新时将此 Chromecast 序列号发送给 google”并等待 1 天以上 安装 ChromeCast Chrome 扩展,允许我的域并勾选 chrome://extensions 上的“开发者模式”框 我用这个 Github 来避免 JS 错误:https://github.com/pjjanak/chromecast-hello-world(我也尝试了其他例子,没有成功) 我输入了我的应用 ID 并在我的应用上设置了一个命名空间 我的 ChromeCast 可以访问我的接收者页面。

如果我将“Youtube”作为 appId,我的发件人应用可以找到我的 ChromeCast。

我可以投射 Chrome 标签,Youtube android 应用也可以投射。

我无法访问 my_chromecast_ip:9222,我发现了以下主题:Initial chromecast setup 和 Initial chromecast setup 这可以是我的解决方案,但我想在使用 chromecast-updates@google 之前在这里询问.com 来检查我是否遗漏了什么。

感谢您的帮助。

【问题讨论】:

由于此问题似乎更像是帐户访问类型的问题,请通过 chromecast-updates@google.com 与我们联系,以便我进一步为您提供帮助。问候,亚当 我遇到了同样的问题,尽管我在访问 my_chromecast_ip:9222 时可以看到调试链接,但我的接收器仍然没有显示在接收器列表中。是与白名单有关还是 chromecast-hello-world 的代码错误? 同样的问题,但我可以通过我的 IP 访问开发工具。 我知道这听起来很傻,但有时您需要重新启动 chromecast 和/或等待 15 分钟。 @CyrilleGuimezanes 您应该接受最能回答您的问题的答案。这将有助于让遇到此问题的其他人更容易知道首先要查看哪个答案。 【参考方案1】:

我在构建我的发件人应用程序时经常遇到这个问题,经过研究,这就是你解决问题的方法。

    在本地主机上添加您的发件人应用并确保您的 chromecast 已开启。 在 Chrome (F12) 上打开开发者模式并刷新您的发件人应用。确保初始化 Chrome Cast 时没有错误。如果没有错误,您应该在开发者控制台中看到 ChromeCast-extension found : .....。如果在您的发送者应用中初始化 ChromeCast 过程中出现任何错误,ChromeCast 接收者将不会出现在扩展弹出窗口中。 如果初始化 ChromeCast 没有错误但您仍然看不到您的接收器,只需关闭您的 ChromeCast 浏览器(如果可能,请尝试清除您的 Chrome 缓存)并重新加载您的发送器应用程序。

希望对您有所帮助。

【讨论】:

尝试了以上所有方法。当我使用自己未发布的应用 ID 时,仍然会收到 receiver list empty。当我使用示例的默认接收器应用程序 ID 时工作正常 发现了我的问题:输入设备序列号时输入错误(I vs 1)。现在可以了。 @michasson 很高兴它有帮助。如果有帮助,请将我的答案标记为正确答案【参考方案2】:

https://github.com/pjjanak/chromecast-hello-world 此示例是旧格式。

if (!chrome.cast || !chrome.cast.isAvailable) 
  setTimeout(initializeCastApi, 1000);

不适用于此代码。 无法获取“接收者列表”

请尝试关注

window['__onGCastApiAvailable'] = function(loaded, errorInfo) 
  if (loaded) 
    initializeCastApi();
   else 
    console.log(errorInfo);
  

参考: https://developers.google.com/cast/docs/chrome_sender?hl=ja#Initialization

【讨论】:

对我没有帮助。当我使用自己未发布的应用 ID 时,仍然会收到 receiver list empty。当我使用示例的默认接收器应用程序 ID 时工作正常。 发现了我的问题:输入设备序列号时输入错误(I vs 1)。现在可以了。【参考方案3】:

绝对确保您在 Google Cast SDK 开发者控制台中输入的设备序列号是正确的。我在输入设备的序列号时不小心打错了('I' vs '1')。最好的确保方法是在注册设备时按下这个小图标。它会响亮而清晰,并且它们使用衬线字体,因此您不能混合使用诸如“l”、“I”和“1”之类的东西。

如果您发现拼写错误,请不要忘记在 Google Cast SDK 开发者控制台中看到“Ready For Testing”后立即重启您的 chromecast 设备。

【讨论】:

感谢您留下这个有用的答案。只是一个友好的提醒:在 SO 上,您应该接受任何回答您问题的答案(在这种情况下,是您自己的答案)。 @machineghost 谢谢!但我们不允许在堆栈溢出时对我们自己的答案进行投票。 正确,但投票(点击“向上箭头”)和接受(点击淡绿色复选标记)是两件不同的事情。投票给你自己的答案=不可能。接受正确答案(无论是您的还是其他人的)= Stack Overflow 的重要组成部分。 @machineghost 只有问题的作者可以选择哪个答案是正确的。只有 CyrilleGuimezanes 可以看到并点击淡绿色的复选标记,我不能。 抱歉!出于某种原因,我认为您是问题作者(一次打开了太多 SO 标签...)我会将我的评论指向@CyrilleGuimezanes。

以上是关于ChromeCast - 空接收者列表的主要内容,如果未能解决你的问题,请参考以下文章

chromecast 自定义接收器 - 播放列表在没有“onLoad”动画的情况下推进媒体

在接收端获取 Chromecast 中的队列项目

从 sd 卡创建播放列表并将其发送到 Chromecast

如何区分连接到 chromecast 的设备

数据绑定 recyclerview 适配器从 livedata 接收到空列表

使用 CastCompanionLibrary 将“播放列表”推送到 Chromecast