我有一个 Android 发送器应用程序和 Android TV 接收器应用程序。当我开始连接 Android TV 接收器应用程序时,它在
onSessionStartFailed()
. 中返回错误代码 2255
我已经参考了 Google Cast 文档(https://developers.google.com/android/reference/com/google/android/gms/cast/CastStatusCodes),但在此页面中找不到 2255 的定义。
另外,我尝试阅读
com.google.android.gms.cast.CastStatusCodes
的代码,似乎错误代码2255是一个特例。
if (var0 < 2300) {
return String.format(Locale.ROOT, "Cast remote display status code %d", var0);
}
提前致谢。
不确定这是否是您的问题,但如果您尝试在非谷歌接收器硬件上运行Cast Debug Logger,就会发生这种情况。
正如它所说:
警告:确保将生产接收器的 setEnabled 更改为 false。
在产品中正确禁用它为我解决了这个问题。但是,伙计,没有正确记录错误代码真是太糟糕了。还有其他几个也可以由于各种原因被抛出,但没有记录。
对我来说实际发生的是 CAF 库抛出异常,因为它试图加载调试记录器,但非谷歌硬件不支持调试记录器。这导致 VM 无法正常启动,因此它开始抛出远程显示错误。
如果这不是你的问题,如果可能的话,你应该尝试登录到后端并下载错误日志。有时这可以突出正在发生的事情。我不知道是否有可能以其他方式使 VM 崩溃,但它可能是并且错误日志可能会显示原因。
您需要将该状态代码转换为原因代码以获得对错误的描述。你可以通过打电话来做到这一点
CastContext.getSharedInstance(context).getCastReasonCodeForCastStatusCode(statusCode)
错误原因的文档是here 2255 转换为原因代码 6,即 CAST_SOCKET_ERROR