我正在开发一个 Chromecast 自定义接收器应用程序,它建立在 Google 提供的示例应用程序之上(sampleplayer.CastPlayer
)
该应用程序管理一个播放列表,我希望播放器在视频因任何原因无法播放后移至列表中的下一个项目。
我遇到了这样一种情况,在由于网络错误而无法加载视频后,播放器变得无响应:在“onError_()”处理程序中,我的自定义代码将执行此操作
var queueLoadRequest = ...
var mediaManager = ...
setTimeout (function(){mediaManager.queueLoad(queueLoadRequest)}), 5000
...玩家确实LOAD
根据接收者日志接收到事件,但屏幕上没有任何反应,玩家的状态IDLE
保持mediaManager.getMediaQueue().getItems()
不变undefined
。尝试使用客户端控制器尝试加载不同视频的结果相同。
我试图在处理程序中恢复mediaManager.resetMediaElement()
,但没有运气。player.reset()
onError_
作为参考,这里是导致玩家无响应的日志截图(仅过滤错误)。请注意,我对修复原始错误不感兴趣,我需要弄清楚如何从中恢复:
我的自定义代码很可能是造成该问题的原因,但是在花费了数小时 + 将自定义代码剥离到最低限度以隔离负责的代码位之后,我没有取得任何进展。我不是在寻找解决方法,而是在寻找解决根本原因的一些指导:什么可能导致播放器变得无响应?或者如何从无响应的玩家中恢复过来?