我正在尝试在ChromeCast上播放直播。流已正常投放,并开始正确播放。
但是,当我播放流媒体的时间更长时:在2-15分钟之间,播放器停止播放,并且我的MediaStatus.IDLE_REASON_ERROR
中出现了RemoteMediaClient.Callback
。
从ChromeCast查看控制台日志时,我发现3-4个呼叫失败。这是日志:
14:50:26.931 GET https://... 0 ()
14:50:27.624 GET https://... 0 ()
14:50:28.201 GET https://... 0 ()
14:50:29.351 GET https://... 0 ()
14:50:29.947 media_player.js:64 [1381.837s] [cast.player.api.Host] error: cast.player.api.ErrorCode.NETWORK/3126000
查看Cast MediaPlayer.ErrorCode错误312.*
无法通过三次重试来获取媒体(经比特率调整)的播放列表m3u8文件。
开发人员需要验证其播放列表确实可用。可能是用户也无法访问播放列表的情况。
我检查了播放列表的可用性。所以我认为服务器可能没有响应。因此,我查看了网络呼叫响应日志。
请注意,停顿时间远远超过了通常的停顿时间。
ChromeCast根本不发出这些调用,只是简单地将请求停滞了很长时间,直到它们被取消为止。所有成功的请求都将停顿不到14毫秒(大多数情况下不到2毫秒)。
Network Analysis Timing Breakdown提供了三个拖延原因
优先级更高的请求。
已为此来源打开了六个TCP连接,这是限制。仅适用于HTTP / 1.0和HTTP / 1.1。
浏览器正在磁盘缓存中短暂分配空间
尽管我确实认为第一个不应该如此,但后两个可以。但是,在两种情况下,我都相信问题出在cast.player
上。
我做错什么了吗?
还有其他人遇到同样的问题吗?有什么办法可以修复它或提出解决方法。