Cast SDK 会执行设备发现(如针对 Android、Web 和 iOS 所述),为用户提供支持 Cast 的可用设备列表。然后,发送设备应用便可连接到接收设备设备并开始投放。如果设备发现失败,问题可能出在应用(发送设备或支持 Cast 的设备)、Cast 设备或网络上。
本文档介绍了如何针对设备发现问题进行问题排查:支持 Cast 的设备未显示在已连接的投射设备列表中,更糟糕的是,当您运行发送器应用时,“投射”按钮不会显示。由于发现流程中有这么多潜在因素和许多变量,因此这些措施可能无法明确证明任何一种原因,但可以帮助您缩小可能的原因。
在调查设备发现问题之前,请确保满足以下条件:
- 发送设备正在运行可用于测试的 Cast 应用。 请勿使用 Netflix 或 YouTube 应用来测试视频发现情况,因为这些应用会使用一些专门的发现机制。
- 网络接收器设备是官方 Google Cast 设备。例如,Chromecast、Google Home 或 Google Nest Hub。
- 发送方设备必须启用 WLAN 网络且运行良好。
- 发送设备和支持 Cast 的设备必须连接到同一 Wi-Fi 网络。
此外,如需详细了解如何调试 Web 接收器应用,请参阅调试。
如需获取与您的问题相关的进一步帮助,请收集所有可用信息(如调试日志、ping 响应数据和网络服务数据),并使用 Google Cast 支持中所述的某个支持选项。
检查发送方应用
- 将发送方和支持 Cast 的设备连接到同一个 Wi-Fi 网络。
重启发送方应用。
- 在 Android 设备上,使用 Android 系统设置强制停止应用。 然后重新启动该应用。
- 在 iOS 上,双击主屏幕按钮,选择发送器应用,然后将其滑开以关闭。然后重新启动该应用。
在发送器应用中,触摸“投放”按钮即可查看网络上的投放设备。 如果系统现在已列出(被检测到)支持 Cast 的设备,那么发送设备应用可能仍存在问题。观察发送设备应用,并注意在什么情况下它无法发现您的接收设备:应用中发生了什么?多次重启后,连接丢失的时间是否一致?
运行其他发送器应用(非 Netflix 或 YouTube),触摸“投射”按钮即可查看网络上的投射设备。
如果其他应用不断发现您的接收器,而您的发送器应用找不到,则问题可能出在发送器应用上。另一方面,如果所有应用都无法发现您的接收器,则问题可能是接收器或网络所致。
在其他平台上运行您的发送器应用(如果可能)。
在其他平台上运行您的发送方应用时,发现行为是否相同?
在与发送方应用不同的平台上运行任何应用(不包括 Netflix 或 YouTube)。
如果您的发送方应用采用 Android 平台,请在 iOS 平台上运行其他应用,反之亦然。如果某个平台的所有应用都出现同样的失败情况,而另一个平台的应用却未持续失败,则问题可能出在平台上。
同步设备
如果发送方设备上的系统时间与支持 Cast 的设备上的系统时间存在显著差异,则发送方和接收方之间的身份验证握手可能会失败。短至 10 分钟的差异可能会导致身份验证失败。
Cast 设备上的系统时间是不可变的,如果已连接到互联网,设备可以保持正确的时间。大多数发送设备(如手机)上的系统时间是可变的,但您应该允许设备通过连接到互联网自动获取系统时间。
如果发送者或接收者上的系统时间不正确,请重新启动设备并将其连接到互联网。如果设备无法保持正确的时间,请与设备供应商联系。
Ping 设备
对设备执行 ping 操作时,请记下响应消息内容,以便在向 Google Cast 支持团队进行任何通信时报告该内容。
- 将发送方和接收方连接到同一个 Wi-Fi 网络,并验证两台设备是否指示它们已连接。
找到支持 Cast 的设备 IP 地址。
使用 Google Home 应用检索 Cast 设备(不包括 Android TV)的 IP 地址。对于 Android TV,请依次选择“设置”>“设备”>“网络”>“Wi-Fi”>“网络”>“状态信息”菜单获取 IP 地址。
将计算机连接到支持 Cast 的设备所在的 Wi-Fi 网络,然后打开命令行界面。
Ping 投放设备并记下响应。
ping <Cast-enabled device IP address>
Ping 多播地址并记下响应。 无论您是否有支持 Cast 的设备的 IP 地址,都可以执行此测试。按如下方式 Ping 多播 IP 地址:
ping 224.0.0.1
ping 239.255.255.250
ping 224.0.0.251
找到发送设备的 IP 地址。 “设置”菜单中通常包含这些信息。在 Android 设备上,依次前往“设置”>“关于”>“状态”。
Ping 发送方设备并记下响应。
ping <sender device IP address>
如果您在对任一设备进行 ping 操作时都未收到响应,请参阅检查路由器。
检查路由器
某些网络路由器对 Cast 的支持优于其他路由器,并且 Google 已经测试了大多数主流品牌。以下步骤可能有助于确定路由器问题。
- 在网络路由器上,关闭 AP 隔离。
- 检查您的路由器是否有任何已知问题和其他信息。
搜索互联网,了解其他用户如何解决 Chromecast 的路由器问题。
例如,输入查询“Chromecast Belkin n300”。
更新路由器的固件。
请参阅制造商的说明。路由器固件可能存在错误,只需进行简单更新即可解决。
关闭并重启网络路由器。
重新启动 Cast 设备。
要重新启动 Chromecast,请拔下 USB 线,然后再更换。同样,对于其他 Cast 设备,开启后关闭设备即可重新启动。
查看路况
通过检查网络上的广播服务,您可以了解网络接收器是否与网络正常通信。
- 在与网络接收器设备连接到同一网络的设备上,安装下面列出的某个网络服务检查实用程序。
运行该实用程序并找到 _googlecast._tcp.local 服务记录。
此记录将描述您的网络接收器设备名称和型号,以及服务数据。
- 复制记录信息,以便与 Google Cast 支持团队联系。
按如下方式安装网络服务检查实用程序:
Apple OSX - 安装 Tildesoft 提供的 Bonjour 浏览器
Linux - 安装 avahi-discovery 并按如下方式运行:
sudo apt-get install avahi-discover
sudo service avahi-daemon start
avahi-discover