前端解决视频加载第一帧作为封面图不成功

在加载视频时,为 <video>或 Image对象设置 crossOrigin属性,表明希望以匿名方式获取跨域资源(不发送用户凭证)

const video = document.createElement('video');

video.crossOrigin = 'anonymous'; // 关键设置

video.src = 'https://其他域名下的视频.mp4';

const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');

video.addEventListener('loadeddata', function() {

         canvas.width = video.videoWidth;

         canvas.height = video.videoHeight;

         ctx.drawImage(video, 0, 0,canvas.width,canvas.height);

         videoItem.imgUrl = canvas.toDataURL('image/png'); // 转换为图片URL

         video.remove(); // 移除video元素,释放资源(可选

         canvas.remove()

 });

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容