我很难理解我的chromecast的初始设置,以便在本地网络上进行投射。我想测试我在业余时间开发的媒体服务器应用程序。后端是一个索引服务器,我希望能够将媒体从我的浏览器投射到电视上。
我申请并支付了对开发者控制台的访问权限,这使我可以注册chromecast设备的序列号。然而,下一步似乎是要求我注册一个URL并发布该应用程序。
此应用程序是沙盒的,并且将在本地网络上运行,所以我不明白这一步。当我尝试在github上运行示例应用程序时,当我尝试将链接传递到服务器上的本地媒体文件(任何格式)时遇到问题。
这些错误包括“Cast API not present”或浏览器的白屏。任何在本地网络上成功设置API进行投射的人都会解释如何进行初始配置。具体来说,如果您在本地(192.168.xx)网络上运行(需要https吗?)并在其中一台机器上运行服务器(在本例中为Tomcat),您为自定义接收器提供了哪些URL(我猜)发件人。
感谢工厂......
Ĵ
答案 0 :(得分:1)
您需要注册您的设备,以便您的Chromecast设备可以使用或不使用SSL访问接收器应用,无论是本地还是互联网。 (HTTP和HTTPS)
接收方应用是HTML文件(receiver.html或您选择的任何名称),并且在使用Google开发者控制台生成AppID时注册了其网址(http://192.168.x.x/whatever.html)。
< / LI>使用上面第2步中的AppID,您可以将其放入原生应用(iOS等)
您的原生应用然后使用Google API搜索,连接并与连接的演员设备进行握手。
由于AppID,连接的演员设备知道获取接收器应用的位置/网址(http://192.168.x.x/whatever.html)
其余部分取决于您使用原生应用程序所做的事情。
如果您想在本地网络上托管媒体资源,则需要一个Web服务器等。这是您的发件人应用程序(本机应用程序)与连接的强制转换设备进行通信的角色,并将其发送给任何资源的网址。
最后一点说明:您的演员设备获得了Google的AppID列表及其相应的接收方应用网址。
希望得到这个帮助。
编辑:资源网址不一定是SSL。
答案 1 :(得分:0)
这也让我感到困惑。但是我最终发现,您需要在本地托管接收器,然后使用ngrok之类的工具/服务来公开接收器。 本教程的第3步对此进行了说明:
https://codelabs.developers.google.com/codelabs/cast-receiver/index.html?index=..%2F..index#2
要点类似,可以使用其他工具以其他方式完成,但这是根据本教程进行的:
npm install -g http-server
npm install -g ngrok
cd app-done // This is the directory on your machine with the receiver app (like index.html etc)
http-server
启动上面的http服务器后,记下使用的端口。可能是8080。
在调用ngrok时使用该端口。
ngrok http 8080
请记住使http服务器和ngrok保持运行。 Ngrok将为您提供一个公共可用的URL,该URL实际上将访问您的本地http服务器,指向您的接收者。
(附带说明,这仍然困扰着我(如果您知道答案,可以随时发表评论):即使我们可以通过这种方式使用本地接收者,我们抛出的所有网址到此接收者的URL仍然始终是世界范围的URL,即我们永远不能使用其IP被主机文件等中的本地IP替换的域中的本地媒体。因此,我们始终必须使用生产(公开可用)媒体。一种解决方法。但是,我们可以使用本地范围内的IP地址,例如10.101.xxx.yyy等)