JavaScript学习小例子-video使用

本文介绍了一个基于JavaScript实现的视频播放器示例,包括播放、暂停、静音、全屏及音量调节等功能,并提供了HTML、CSS和JavaScript的具体代码。

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

本篇是对JavaScript学习过程中一个video具体实现的小例子的记录。
主要是对video播放,暂停,静音,全屏以及音量调节,进度条显示等功能。

下面是效果截图
这里写图片描述
- HTML部分
主要就是一个视频播放和几个按钮。

<div id="container">
    <video id="video" width="600px" height="480px" controls style="clear:both;display:block;margin:auto">
        <source src="../src/Don't_Let_Me_Down.mp4" type="video/mp4">
    </video>
    <div id="buttons">
        <input type="button" value="播放" id="playButton" onclick="play()"/>
        <input type="button" value="暂停" id="pauseButton" onclick="pause()"/>
        <input type="button" value="静音" id="mute" onclick="mute()"/>
        <input type="button" value="全屏" id="all" onclick="all()"/>
        <span>播放进度</span>
        <progress value="0" id="progress">
        </progress>
        <span >音量</span>
        <input type="range" id="ran" value="50" min="0" max="100" onchange="setVolume()"/>
    </div>
</div>
  • CSS部分
    主要是居中显示
 <style type="text/css">
        #container{
            width:800px;
            height:530px;
            margin: 0 auto;
            border:1px solid #000;
        }
        #buttons{
            width:800px;
            height:50px;
            margin:auto;
            border:1px solid red;
            text-align:center;
        }
    </style>
  • JavaScript部分
方法/属性含义
play()播放
pause()暂停
muted是否静音
webkitRequestFullScreen()兼容谷歌和safari的全屏显示
mozRequestFullScreen()兼容火狐的全屏显示
<script type="text/javascript">
    var video=document.getElementById("video");

    var playButton=document.getElementById("playButton");
    var pauseButton=document.getElementById("pauseButton");
    var progress=document.getElementById("progress");
    var ran=document.getElementById("ran");
    var all=document.getElementById("all");

    all.onclick=function () {
        //兼容谷歌和safari
        video.webkitRequestFullScreen();
        //兼容火狐
        video.mozRequestFullScreen();
    }

    //播放
    function play() {
        //播放视频
        video.play();
        //禁用播放按钮
        playButton.disabled=true;
        //同时是暂停按钮可用
        pauseButton.disabled=false;
        timer=setInterval("pro()", 100);
    }

    function pro() {
        //刷新进度条
        progress.max=video.duration;
        progress.value=video.currentTime;
    }

    //暂停
    function pause() {
        //暂停视频
        video.pause();
        //使播放按钮可用
        playButton.disabled=false;
        //禁用暂停按钮
        pauseButton.disabled=true;
        clearInterval(timer);
    }

    //用于存储视频音量
    var vol;
    function mute() {
        if(video.muted==false){
            vol=ran.value;
            ran.value=0;
            video.muted=true;
        }
        else{
            //如果开始解释静音状态,直接恢复range值
            video.muted=false;
            ran.value=vol;
        }
    }
    //设置音量
    function setVolume() {
        video.volume=ran.value/100;
    }
</script>

值得一提的是<progress>标签的使用以及<input type="range" value="50" min="0" max="100" onchange="setVolume()"/>使用,都是第一次接触。
1. progress
利用计时器刷新progress.max和progress.value,实现进度条的效果

  1. input–range
    设置最小值,最大值,以及实际值,然后就是值改变时的时间onchange

所有代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值