如何制作HTML5-JavaScript视频播放器的快照?

电脑杂谈  发布时间:2020-05-24 03:20:45  来源:网络整理

java本地视频播放器_以前看见过一款在手机主界面上播放视频的视频播发器_e人e本播放不了视频

Script House收集的这篇文章主要介绍了它. Script House的编辑认为这非常好. 现在,我将与您分享并提供参考.

事实上,我有一个HTML5页面,该页有允许我播放wmv视频文件的功能.

播放视频时,您需要拍摄快照(是否暂停)并将其保存为JPG或BMP的任何图像格式.

任何帮助将不胜感激.

以前看见过一款在手机主界面上播放视频的视频播发器_java本地视频播放器_e人e本播放不了视频

谢谢.

<!DOCTYPE HTML>
    <html>
        <head>
            <title>HTML5 video</title>        
    <script type="text/javascript">
        function checkPlay() {
            var myVideo = document.getElementById("myVid");
            var ytStr = '<iframe width="500" height="500" src="C:\XA0002.wmv" frameborder="0" allowfullscreen></iframe>';
            try {
                var canPlay = document.getElementsByTagName('video')[0].canPlayType("video/wmv");
                if ((canPlay == "no") || (canPlay == "")) {
                    myVideo.innerHTML = ytStr;
                }
                new MediaElement(v,{ success: function (media) { media.play(); } });
            } catch (err) {
                myVideo.innerHTML = ytStr;
            }
        }
    </script>
        </head>
        <body onload="checkPlay()">
          <div id="myVid"/>
      </body>
    </html>

要将视频帧复制到图像文件,请正确加载视频,将图像复制到画布,然后将其导出到文件. 完全有可能,但是在某些地方您可能会遇到麻烦,因此让我们一次走一步.

1)加载视频

以前看见过一款在手机主界面上播放视频的视频播发器_e人e本播放不了视频_java本地视频播放器

要捕获像素,您需要将视频加载到

您还需要加载正确的文件格式. IE9可能播放WMV,但其他浏览器也不大可能. 如果可以,请加载,使用webm,mp4和理想的ogg / theora.

var container = document.getElementById("myVid"),video = document.createElement('video'),canCapture = true;
if (!video.canPlayType('video/wmv')) {
    /* If you don't have multiple sources,you can load up a Flash fallback here
       (like jPlayer),but you won't be able to capture frames */
    canCapture = false;
    return;
}
video.src = 'myvideo.wmv';
container.appendChild(video);
video.play(); //or put this in a button click handler if you want your own controls

2)接下来,创建画布和绘图上下文. 您实际上不需要将其附加到DOM,但是需要将其设置为要保存生成的图像的大小. 对于此示例java本地视频播放器,我们假设您有固定的尺寸,但如有必要,可以将其设置为视频尺寸的倍数. 只需确保在视频的“ loadedmetadata”事件中运行,因为视频尺寸将无法立即使用.

java本地视频播放器_以前看见过一款在手机主界面上播放视频的视频播发器_e人e本播放不了视频

var canvas = document.createElement('canvas');
canvas.width = 640;
canvas.height = 480;
var ctx = canvas.getContext('2d');
// if you want to preview the captured image,// attach the canvas to the DOM somewhere you can see it.

3)将图像捕获到画布上并将其保存到文件中. 将此代码放在按钮或计时器内的onclick事件中–但是您要决定何时捕获图像. 使用drawImage方法. ([本文]提供了很好的解释,包括安全问题,视频与图像相同. )

//draw image to canvas. scale to target dimensions
ctx.drawImage(video,canvas.width,canvas.height);
//convert to desired file format
var dataURI = canvas.toDataURL('image/jpeg'); // can also use 'image/png'

4)导出图像文件

java本地视频播放器_以前看见过一款在手机主界面上播放视频的视频播发器_e人e本播放不了视频

jpg文件现在另存为,它是一个长JavaScript字符串,代表完整二进制文件的编码版本. 这取决于您的操作方式. 您可以将其直接放入img元素,只需将其设置为src: myImage.src = dataUri;.

如果要将其保存到文件,则需要将其上传到服务器. 就是这样.

与往常一样,以上所有内容仅限于支持它的浏览器. 如果您坚持使用wmv视频,那么您几乎只能使用Internet Explorer9. 6-8不支持视频标签或画布. 如果您可以添加更多的多视频格式,则可以使用Firefox(3.5)和Chrome.

以上是脚本公司为您收集的所有内容. 我希望本文可以帮助您解决遇到的程序开发问题.

如果您认为Script House网站的内容不错,欢迎向程序员朋友推荐Script House网站.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-220142-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...