自定义播放器

博客围绕JS原生播放器展开,重点介绍自定义播放器,可打造出具有个性的播放器,在信息技术领域的前端开发中,这种自定义播放器能满足多样化的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

css
<style type="text/css">
.jdt{
    width: 600px;
    height:10px;
    background:#ccc;
}
    #bf{
        height:10px;
        display:block;
        background:#639843;
    }
</style>
html

    <video  id="video" width="600">
        <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4"/>
        <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg"/>
    </video>
    <div class="tt">
        duration:  媒体总时间(只读)<br />
        play() : 媒体播放   <br />
        pause() :  媒体暂停<br />
        canplay():  可以播放<br />
        currentTime: 开始播放到现在所用的时间<br />
        timeupdate :  时间更新<br />
        <button id="playA">播放</button>
        <button id="paueseA">暂停</button>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <span>总共有:</span><span id="sj"></span>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <span>播放了:</span><span id="currentTimeSpan">00:00</span>
    </div>
    <div class="jdt" id="jdt">
        <span id="bf" style="width:0px"></span>
    </div>
js部分
<script type="text/javascript">
    video.addEventListener("canplay",function(){
        //第一步 移除缓存事件  只需要加载一次
        video.removeEventListener("canplay",arguments.callee);
        playA.onclick=function(){
            video.play()
        }
        paueseA.onclick=function(){
            video.pause()
        }
        sj.innerText=toMs(video.duration);
        //第三步 剩余的时间
        video.ontimeupdate=function(){
            currentTimeSpan.innerText=toMs(video.currentTime);


            // 第4步 根据监控来让进度条动起来   算出百分比
            var bili=(video.currentTime/video.duration)*100+"%"
                bf.style.width=bili;
        }
        //第5步 进度条
        jdt.onclick=function(e){
            var e=e||event
            var X=e.offsetX;
            //获取到X 是点击的距离     除以整个盒子的距离是为了获得比例
            //再用比例乘以总共的时间
            var xxx=X/jdt.offsetWidth;
                video.currentTime=video.duration*xxx;
        }
    },false)
    //第二步 开始准备转化时间
    function toMs(num){
        //分钟
        var m=Math.floor(num/60);
            m=m>9?m:"0"+m
        //秒数
        var s=Math.floor(num%60);
            s=s>9?s:"0"+s
        return m+":"+s
    }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值