启动类似于 CastHelloText-chrome 的Google-Cast应用程序时遇到问题。我针对具体目的稍加修改示例代码。创建此应用程序的目标是直接在Chromecast设备中发送和显示图像数据。
特别是官方样本和我的代码之间的区别在于邮件格式及其内容,由发件人应用程序发送。发件人应用程序采用由base64编码的png图像,并通过带有自定义命名空间的消息总线发送。 Receiver应用程序获取此消息并将其用作html对象<img>
的数据源。
执行此步骤时出现错误:
现在,Chromecast扩展程序会显示一个弹出窗口。接下来有两种情况:
3a)我通过从列表中选择一个来确认转换到设备,然后我在控制台中收到此错误消息:
onError:{&#34; code&#34;:&#34; channel_error&#34;,&#34;说明&#34;:&#34;错误:超时&#34;,&#34 ;细节&#34;:空}
3b)我只是点击其他地方,我收到此错误:
onError:{&#34;代码&#34;:&#34;取消&#34;,&#34;说明&#34;:&#34;用户关闭弹出式菜单&#34;,&# 34;细节&#34;:空}
这两个错误都是由第161行的 chromehellotext.html 中的函数chrome.cast.requestSession
引起的,但我不知道的是什么错误。
当我执行发件人脚本时,我意识到函数sessionListener
从未被调用过。我知道当代码尝试调用chrome.cast.requestSession
时会出现问题,其中描述了错误。如果我错过了使用Google-Cast API的正确方法,或者如果此问题与网络问题有关,我需要帮助。
Receiver应用程序已在Google Cast SDK开发者控制台上注册,我在已注册的设备上测试了一些序列号。我在版本42.0.2300.2 canary(64位)和Chrome版本40.0.2214.111(我认为目前稳定)中使用谷歌浏览器。为了测试我还试图完全关闭Windows防火墙,但没有运气。
修改 有一些语法错误导致上述错误消息。
答案 0 :(得分:1)
您似乎正在尝试使用数据/控制通道发送图像;请不要这样做;该通道不应用于大数据通信;实际上它不能发送接近或超过64k的任何东西。如果您的目标是从本地计算机发送图像,则需要在本地计算机上运行本地Web服务器并通过Web服务器提供图像。
答案 1 :(得分:1)
对于最简单的教程,您可以查看本教程。 本教程中对此进行了详细说明。 Chromecast Sender application
没有必要自己维持会话。 只需添加按钮,享受铸造
mCastManager.addMediaRouterButton(mediaRoutebtn);
答案 2 :(得分:0)
我找到了问题的根源。接收器代码中存在一些错误 - 语法和运行时错误,所以我必须承认我的代码不起作用。现在它正在启动应用程序和获取会话。
不幸的是,Chromecast扩展程序生成的错误消息与实际错误不匹配 - 至少当我不知道接收方身上发生了什么事情而没有调试代码的能力时,这有点令人困惑。