我有角度的应用程序,这是建立和服务与节点/Express服务器。
我使用用户可以观看的视频
<video width="100%" height="344" controls controlsList="nodownload" preload="metadata" autoplay>
<source src="/assets/video/digital.mp4" type="video/mp4">
</video>它工作得很好。但在速度很慢的互联网上,它的播放速度非常慢。我想知道在这里可以做些什么,这样用户即使在缓慢的互联网上也不会感到沮丧。
发布于 2017-11-08 19:19:53
尝试preload:"auto",而不是preload="metadata"
auto:表示即使用户不使用,也可以下载整个视频文件。
但是,如前所述,preload属性并不总是可靠的。
in this blog提供了4种解决方案,其中最可靠的是
解决方案#4,ajax和bloburl (works)
var req = new XMLHttpRequest();
req.open('GET', 'video.mp4', true);
req.responseType = 'blob';
req.onload = function() {
// Onload is triggered even on 404
// so we need to check the status code
if (this.status === 200) {
var videoBlob = this.response;
var vid = URL.createObjectURL(videoBlob); // IE10+
// Video is now downloaded
// and we can set it as source on the video element
video.src = vid;
}
}
req.onerror = function() {
// Error
}
req.send();https://stackoverflow.com/questions/47178337
复制相似问题