在.NET Core中开发了一个用于流式传输视频内容的应用程序。与html5视频元素,206部分数据包功能(可以正确搜索)工作得很好。在我尝试播放新的不同视频后,Chrome仍会播放第一个视频。
我在IE或Firefox中没有这个问题,坦率地说,去年曾经在Chrome上运行良好。我怀疑他们最近在Chrome中改变了什么?
此外,刷新页面软,硬或缓存重置仍将只播放第一个视频。只有打开一个新的Chrome标签,它似乎“重置”并允许我播放第二个视频,反之亦然。
当正在播放“不正确”的第一个视频时,如果我直接通过右下角的Chrome HTML5播放器图标下载,它会下载正确的第二个视频,这更加奇怪!
以下是更多信息:
答案 0 :(得分:0)
固定。以下是导致此问题的原因:
我对该视频的请求是GET to / Download?uid = 12345,后者又重定向到/ GetItem(12345将存储在cookie中)。
对部分206数据包的后续请求也将是GET / GetItem。做了一些阅读,尝试了书中的所有内容,并意识到谷歌浏览器可能需要为每个新请求看到不同的网址,否则它将播放较旧的缓存流。
解决方案:
我将重定向更改为/ GetItem?uid = someRandomNumber(每次调用此操作时都会更改),现在,当我在每个视频之间点击时,视频会正确流式传输。