我实现了一个带有媒体源扩展的自适应 html5 播放器,并且卡在关于播放的逻辑到最后。
我发现mediaSource.endOfStream()
必须在播放结束之前调用它,以便查看元素ended
发出的事件。<video>
调用 endOfStream 后,mediaSource.readyState
将变为ended
,并且已经附加到它的 sourceBuffers 仍然存在。(未删除)
在 mediaSource 规范中结束了 readyState 描述:
源仍然附加到媒体元素,但 endOfStream() 已被调用。
换句话说,mediaSource 标记为已结束但仍附加到视频元素。
场景是:我想重播这个回放。
有什么方法可以“重启”这个 mediaSource?
b/c mediaSource 仍附加到视频元素,因此videoElement.src = window.URL.createObjectURL(mediaSource)
不起作用。而且也只能closed
附加一个 mediaSource,所以在调用它时,mediaSource 被关闭,并且 sourceBuffers 被删除。
我在规范中看不到任何其他方法,或者我的尝试(重新启动 mediaSource)完全错误?
有人有什么主意吗?任何评论/建议将不胜感激。
谢谢。