>  기사  >  웹 프론트엔드  >  JS가 태그된 동영상의 썸네일을 캡처할 수 있나요?

JS가 태그된 동영상의 썸네일을 캡처할 수 있나요?

php中世界最好的语言
php中世界最好的语言원래의
2018-03-08 11:11:485653검색

이번에는 JS로 캡쳐할 수 있는 태그 videothumbnail을 가져왔습니다. , JS로 동영상 썸네일을 가로챌 때의 주의 사항 은 무엇입니까? 다음은 실제 사례입니다. 살펴보겠습니다.

JavaScript 비디오 태그 비디오 썸네일 캡처 며칠 전에 폭포 흐름으로 MP4 비디오를 로드하는 작은 프로젝트를 수행했습니다. 원래 방법은 모든 비디오 태그 비디오를 직접 표시하는 것입니다. 하지만 비디오 중 하나가 너무 커서 멈춰 있으면 모든 후속 비디오에 대해 비디오 섬네일을 표시할 수 없습니다. 동영상 썸네일을 표시하고 싶지만 동영상을 직접 표시하고 싶지는 않습니다. 항목을 검색하고 조합하여 다음과 같은 작은 코드를 구현했습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js">
        </script>
        <style>
        </style>
        <script type="text/javascript">//--获取视频缩略图--
            function vload(obj) {
                $(obj).removeAttr("poster");
                var vimg = $("<img/>")[0];
                captureImage(obj, vimg);
                $(obj).after(vimg);
                $(obj).remove();
            };
            var scale = 0.8; //缩放
            function captureImage(video, output) { //截图
                try {
                    var videocanvas = $("<canvas/>")[0];
                    videocanvas.width = video.videoWidth * scale;
                    videocanvas.height = video.videoHeight * scale;
                    videocanvas.getContext(&#39;2d&#39;).drawImage(video, 0, 0, videocanvas.width, videocanvas.height);
                    output.src = videocanvas.toDataURL("image/png");
                    delete videocanvas;
                } catch(e) {
                    output.src = "加载动画.gif";
                }
 
            };
            //--获取视频缩略图--
            </script>
    </head>
    <body>
        <video src="视频地址" preload="metadata" onloadeddata=&#39;vload(this)&#39; poster="加载动画.gif">
        </video>
    </body>
 
</html>

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

관련 읽기:

Angularjs의 Promise 객체에 대한 자세한 설명

AngularJS의 ng-bind-html 지시어에 대한 자세한 설명

위 내용은 JS가 태그된 동영상의 썸네일을 캡처할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.