Rumah  >  Soal Jawab  >  teks badan

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

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

PHP中文网PHP中文网2741 hari yang lalu833

membalas semua(4)saya akan balas

  • PHP中文网

    PHP中文网2017-04-17 13:58:47

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

    balas
    0
  • 怪我咯

    怪我咯2017-04-17 13:58:47

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

    balas
    0
  • 黄舟

    黄舟2017-04-17 13:58:47

    <!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>
    视频第一帧图片:
    <p id="output"></p>
    <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>

    balas
    0
  • 黄舟

    黄舟2017-04-17 13:58:47

    http://stackoverflow.com/ques...

    balas
    0
  • Batalbalas