js- 视频播放器

1.

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>自制视频播放器</title>
    <style>
        *{margin: 0; padding: 0}
        #div1{width: 300px; height: 20px; background: #666; overflow: hidden;position: relative;top:10px}
        #div2{width: 30px; height: 20px;background: red; position: absolute; left: 0; top: 0;}
        #div3{width: 300px; height: 10px; background: #666; overflow: hidden;position: relative;top:20px}
        #div4{width: 30px; height: 10px;background: green; position: absolute; left: 90px; top: 0;}
    </style>
</head>
<body>
<video  id="v1">
    <source src="a.mp4"/>
</video><br>
<input type="button" value="播放"/>
<input type="button" value="00:00:00"/>
<input type="button" value="00:00:00"/>
<input type="button" value="静音"/>
<input type="button" value="全屏"/>
<div id="div1">
    <div id="div2"></div>
</div>
<div id="div3">
    <div id="div4"></div>
</div>
<script>
    window.onload = function(){
        var oVideo = document.getElementById(‘v1‘);
        var aInput = document.getElementsByTagName(‘input‘);
        var oDiv1 = document.getElementById(‘div1‘);
        var oDiv2 = document.getElementById(‘div2‘);//进度滑块
        var oDiv3 = document.getElementById(‘div3‘);
        var oDiv4 = document.getElementById(‘div4‘);//音量滑块
        var timer = null;

        //功能1.播放暂停
        aInput[0].onclick = function(){
            if(oVideo.paused){
                oVideo.play();
                this.value = ‘暂停‘;
                nowTime();
                timer = setInterval(nowTime, 1000);
            }else if(oVideo.played){
                oVideo.pause();
                this.value = ‘播放‘;
                clearInterval(timer);
            }
        }

        //功能2.获取视频总时间,默认是秒
        aInput[2].value = changeTime(oVideo.duration);
        oVideo.ondurationchange = function(){
            aInput[2].value = changeTime(oVideo.duration);
        }

        //功能3 静音
        aInput[3].onclick = function(){
            if(oVideo.muted ){ //如果是静音状态,点击按钮变成不静音! 音量在0-1之间, 0静音,1最大
                oVideo.volume = 0.3;
                this.value = ‘静音‘;
                oVideo.muted = false;
            }else { //如果当前非静音状态,点击按钮变成静音,音量变成0
                oVideo.volume = 0;
                this.value = ‘取消静音‘;
                oVideo.muted = true;
            }
        };

        //功能4 全屏  方法1.视频的宽高==可视区的宽高! 方法2: 自带的全屏的方法 mozRequestFullScreen()
        aInput[4].onclick = function(){
           //oVideo.mozRequestFullScreen();
            var w = document.body.clientWidth || document.documentElement.clientWidth;
            var h = document.body.clientHeight || document.documentElement.clientHeight;
            oVideo.width = w;
            oVideo.height = h;
        };

        //功能5 播放时间进度条
        oDiv2.onmousedown = function(ev){
            var ev = ev || window.event;
            disX = ev.clientX - oDiv2.offsetLeft;//鼠标坐标到控件的左边的距离
            document.onmousemove = function(ev){
                var ev = ev || window.event;
                var L = ev.clientX - disX;//控件到html的左边的距离
                if(L < 0){
                    L = 0;
                }else if( L > oDiv1.offsetWidth - oDiv2.offsetWidth){
                    L = oDiv1.offsetWidth - oDiv2.offsetWidth;
                }
                oDiv2.style.left = L + ‘px‘;
                var scale = L / (oDiv1.offsetWidth - oDiv2.offsetWidth);
                oVideo.currentTime = scale * oVideo.duration;
                nowTime();
            };
            document.onmouseup = function(){
                document.onmousemove = null;
                document.onmouseup = null;
            }
            return false;
        };

        //功能6 音量进度条控制
        oDiv4.onmousedown = function(ev){
            var ev = ev || window.event;
            disX = ev.clientX - oDiv4.offsetLeft;//鼠标坐标到控件的左边的距离
            document.onmousemove = function(ev){
                var ev = ev || window.event;
                var L = ev.clientX - disX;//控件到html的左边的距离
                if(L < 0){
                    L = 0;
                }else if( L > oDiv3.offsetWidth - oDiv4.offsetWidth){
                    L = oDiv3.offsetWidth - oDiv4.offsetWidth;
                }
                oDiv4.style.left = L + ‘px‘;
                var scale = L / (oDiv3.offsetWidth - oDiv4.offsetWidth);
                oVideo.volume = scale;
            };
            document.onmouseup = function(){
                document.onmousemove = null;
                document.onmouseup = null;
            };
            return false;
        };

        //当视频播放的时候,显示当前的播放的时间,每隔一秒更新下,当暂停的时候清除定时器
        function nowTime(){
            aInput[1].value = changeTime(oVideo.currentTime);
            var scale = oVideo.currentTime / oVideo.duration;
            oDiv2.style.left = scale * 270 +‘px‘; //视频播放时进度条要向前跑 270 = oDiv1.style.width - oDiv2.style.width
        }
             //获取视频总时长 00:00:00
        function changeTime(iNum){
            iNum = parseInt(iNum);
            var iH = toZero(Math.floor(iNum / 3600)); //时
            var iM = toZero(Math.floor(iNum % 3600 / 60)); //分
            var iS = toZero(Math.floor(iNum % 60)); //秒
            return iH + ":" + iM + ":" + iS;
        }
        function toZero(num){
            return num <= 9 ? ‘0‘+ num : ‘‘+ num ;
        }
    };
</script>

</body>
</html>

  

时间: 2024-12-17 03:46:46

js- 视频播放器的相关文章

video.js视频播放器

免费视频播放器videojs中文教程 Video.js是一款web视频播放器,支持html5和flash两种播放方式.更多关于video.js的介绍,可以访问官方网站介绍,我之前也写过一篇关于video.js的使用心得,有兴趣的可以点这里 , 阅读的人数还蛮多的,有些热心的读者甚至还给过我小额打赏,钱虽不多,但是很感动.最几天又收到几位网友的私信,问一些关于videojs使用方面的问题.我自己都不记得videojs长什么模样了,出于别人对我的信任,又回头看了一遍上一篇文章,还是2014年的时候写

基于JSON数据HTML5视频播放器js插件教程

一.安装 可以通过Bower来安装该视频播放器插件. bower install frame-player 在页面中引入frameplayer.css和frameplayer.js文件. <link rel="stylesheet" href="path-to/frameplayer.css"> <script src="path-to/frameplayer.js"></script> 二.Html结构 在页

H5打造属于自己的视频播放器(JS篇1)

回顾 1)H5打造属于自己的视频播放器(HTML篇)2)H5打造属于自己的视频播放器(逻辑篇) 前言 在HTML篇当中我们写好了样式,今天我们为video新增一个样式 .bad-video video { width: 100%; height: 100%; display: block; object-fit:fill; } 高,宽,内容,都充父元素 乳此一来,我们的HMTL元素内容为 <div class="bad-video"> <video webkit-pl

免费视频播放器videojs中文教程

Video.js是一款web视频播放器,支持html5和flash两种播放方式.更多关于video.js的介绍,可以访问官方网站介绍,我之前也写过一篇关于video.js的使用心得,有兴趣的可以点这里 , 阅读的人数还蛮多的,有些热心的读者甚至还给过我小额打赏,钱虽不多,但是很感动.最几天又收到几位网友的私信,问一些关于videojs使用方面的问题.我自己都不记得videojs长什么模样了,出于别人对我的信任,又回头看了一遍上一篇文章,还是2014年的时候写的,如今videojs的版本已经更新到

Flowplayer基于视频流的免费web视频播放器

前言 Flowplayer 是一个开源(GPL 3的)WEB视频播放器.您可以将该播放器嵌入您的网页中,如果您是开发人员,您还可以自由定制和配置播放器相关参数以达到您要的播放效果.支持播放MP4.flv.swf等流媒体以及图片文件,能够非常流畅的播放视频文件,支持自定义配置和扩展. 测试项目源文件:http://download.csdn.net/detail/u010989191/9513711. 如何使用? 加载flowplayer.js 因为依赖于jQuery开源库,故需要先加载jQuer

在网站中嵌入VideoJs视频播放器

一个博客难免需要引用视频来说明内容,但想要自己来实现一个视频播放器是不是一时半会就能完成的,更重要的是这需要对视频播放技术有一定的了解.于是自然而然的有人会想到开源项目. html5已经原生支持视频元素 而我正在使用地便是video.js.它能够控制基本的播放器样式,支持mp4.webm.ogv视频格式,也能够插入字幕,基本上能够满足常用需求. video.js也使用了html5的特性,如果浏览器不支持html5的话,想要播放视频还得用flash,虽然flash由于资源的消耗广为诟病,但是由于国

jqm视频播放器,html5视频播放器,html5音乐播放器,html5播放器,video开发demo,html5视频播放示例,html5手机视频播放器

最近在论坛中看到了很多实用html5开发视频播放,音乐播放的功能,大部分都在寻找答案.因此我就在这里做一个demo,供大家相互学习.html5开发越来越流行了,而对于视频这一块也是必不可少的一部分.如何让你的网站占据优势,就要看你的功能和用户体验了.html5对video还是做了很多优惠的东西,我们使用起来很得心应手. 在过去 flash 是网页上最好的解决视频的方法,截至到目前还算是主流,像那些优酷之类的视频网站.虾米那样的在线音乐网站,仍然使用 flash 来提供播放服务.但是这种状况将会随

分享一个基于HTML5实现的视频播放器

什么是hivideo? 最近一段时间在使用PhoneGap开发一个App应用,App需要播放视频,本想直接使用html5的video,但使用它在全屏播放时不支持横屏播放,只能放弃.最终决定还是自己封装一个播放器算了,免得以后要扩展功能麻烦. 最近迷上hi这个单词,所以我给这个播放器取名叫做:hivideo. hivideo是一款基于html5的视频播放器,摒弃video原有的播放控制条样式,自己重写了一次.支持暂停.播放进度控制.声音控制.全屏播放.如果是要在手机端使用hivideo,全屏播放时

【转】一款开源免费跨浏览器的视频播放器--videojs使用介绍

特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/ 最近项目中的视频功能,需要做到浏览器全兼容,所以之前用html5实现的视频功能就需要进行改造了.在网上翻了个遍,试来试去,在所有的视频播放器中,就数它最实际了.首先我们来看看它的优点: 1.它是开源免费的,你可以在github很容易的获取它的最新代码. 2.使用它非常的容易,只要花

一款开源免费跨浏览器的视频播放器--videojs使用介绍

最近项目中的视频功能,需要做到浏览器全兼容,所以之前用html5实现的视频功能就需要进行改造了.在网上翻了个遍,试来试去,在所有的视频播放器中,就数它最实际了.首先我们来看看它的优点: 1.它是开源免费的,你可以在github很容易的获取它的最新代码. 2.使用它非常的容易,只要花几秒钟就可以架起一个视频播放页面. 3.它几乎兼容所有的浏览器,并且优先使用html5,在不支持的浏览器中,会自动使用flash进行播放. 4. 界面可以定制,纯javascript和css打造.说明文档也非常的详细.