◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
前言
当视频播放过大,边看边加载时可以用数据流方式播放视频
可以使用 Blob 和 URL.createObjectURL() 方法来实现使用数据流播放视频。具体实现步骤如下:
一、获取视频数据流 从服务器获取视频数据流,可以使用 XMLHttpRequest 或 fetch 方法请求数据流并以 Blob 对象形式返回。
二、创建 URL 对象 使用 URL.createObjectURL() 方法创建一个 URL 对象,将 Blob 对象作为参数传入该方法。
三、将 URL 对象赋值给 video 标签的 src 属性 将创建的 URL 对象赋值给 video 标签的 src 属性即可实现使用数据流播放视频。 下面是一个使用数据流播放视频的示例代码:
<video id="myVideo" width="640" height="360" controls></video> <script> // 获取视频数据流 fetch('video.mp4') .then(response => response.blob()) .then(blob => { // 创建 URL 对象 const videoUrl = URL.createObjectURL(blob); // 将 URL 对象赋值给 video 标签的 src 属性 const myVideo = document.getElementById('myVideo'); myVideo.src = videoUrl; }) .catch(error => { console.error('An error occurred:', error); }); </script>
总结
在上面的代码中,首先使用 fetch 方法获取视频数据流并以 Blob 对象形式返回,然后使用 URL.createObjectURL() 方法创建一个 URL 对象,将 Blob 对象作为参数传入该方法。最后将创建的 URL 对象赋值给 video 标签的 src 属性即可实现使用数据流播放视频。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。