如何在video上显示视频的第一帧

移动端 如何在video上显示视频的第一帧?能写下具体代码吗? 谢谢了

阅读 23.5k
4 个回答

video标签有个poster属性,事先截好封面放进去就行

是啊 但是怎么截呢 前端能实现吗?

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
<video id="video" controls="controls" width="400" height="300">
    <source src="myvideo.mp4">
</video>
<br><br>
视频第一帧图片:
<div id="output"></div>
<script type="text/javascript">
(function(){
var video, output;
var scale = 0.8;
var initialize = function() {
    output = document.getElementById("output");
    video = document.getElementById("video");
    video.addEventListener('loadeddata',captureImage);
};
var captureImage = function() {
    var canvas = document.createElement("canvas");
    canvas.width = video.videoWidth * scale;
    canvas.height = video.videoHeight * scale;
    canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
 
    var img = document.createElement("img");
    img.src = canvas.toDataURL("image/png");
    img.width = 400;
    img.height = 300;
    output.appendChild(img);
};
initialize();
})();
</script>
</body>
</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题