HTML5 视频的常用操作

对书上的案例进行合并、改进和注释。该案例包括视频的进度条、播放/暂停、音量调节、静音、快进/慢进。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <script>
    // 简写id获取DOM函数
    function $$(id) {
      return document.getElementById(id);
    }
    // 秒转换为时、分、秒
    function getTime(time) {
      var hours = parseInt(time / 3600);
      var minutes = parseInt((time - hours * 3600) / 60);
      var seconds = parseInt(time - hours * 3600 - minutes * 60);
      if (hours < 10) {
        hours = "0" + hours;
      }
      if (minutes < 10) {
        minutes = "0" + minutes;
      }
      if (seconds < 10) {
        seconds = "0" + seconds;
      }
      var result = hours + ":" + minutes + ":" + seconds;
      return result;
    }
    window.onload = function () {
      // 获取DOM
      var oVideo = $$("video");
      var oPlay = $$("play");
      var oAdd = $$("add");
      var oReduce = $$("reduce");
      var oVolume = $$("volume");
      var oMuted = $$("muted");
      var oRange = $$("range");
      var oProgress = $$("progress");
      var oTotal = $$("total");
      var oFast = $$("fast");
      var oSlow = $$("slow");
      var oPlaybackRate = $$("playbackRate");

      // 初始化
      oVolume.value = oVideo.volume.toFixed(1);
      oRange.min = 0;
      oRange.max = oVideo.duration;
      oRange.value = 0;
      oProgress.innerHTML = getTime(0);
      oTotal.innerHTML = getTime(oVideo.duration);
      oPlaybackRate.value = oVideo.playbackRate.toFixed(1);

      // 播放按钮
      oPlay.onclick = function () {
        if(oVideo.paused){// 如果视频是暂停的
          oVideo.play();
          oPlay.value="暂停";
        }else{
          oVideo.pause();
          oPlay.value="播放";
        }
      };
      // 音量增加按钮
      oAdd.onclick = function(){
        oVideo.volume += 0.1;
        oVolume.value = oVideo.volume.toFixed(1);
      };
      // 音量减少按钮
      oReduce.onclick = function(){
        oVideo.volume -= 0.1;
        oVolume.value = oVideo.volume.toFixed(1);
      };
      // 静音按钮
      oMuted.onclick = function(){
        if(oVideo.muted){// 如果视频是静音的
          oVideo.muted = false;
          oMuted.value="正常";
        }else{
          oVideo.muted = true;
          oMuted.value="静音";
        }
      };
      // 当视频在播放时,会触发timeupdate事件
      oVideo.addEventListener("timeupdate", function(){
        oRange.value = oVideo.currentTime;
        oProgress.innerHTML = getTime(oRange.value);
      }, false);
      // 拖动进度条,会改变视频播放进度
      oRange.onchange = function(){
        oVideo.currentTime = oRange.value;
        oProgress.innerHTML = getTime(oRange.value);
      }
      // 快进
      oFast.onclick = function(){
        if(oVideo.playbackRate<1){
          oVideo.playbackRate += 0.1;
        }else{
          oVideo.playbackRate += 1;
        }
        oPlaybackRate.value = oVideo.playbackRate.toFixed(1);
      }
      // 慢进
      oSlow.onclick = function(){
        if(oVideo.playbackRate>1){
          oVideo.playbackRate -= 1;
        }else{
          oVideo.playbackRate -= 0.1;
        }
        oPlaybackRate.value = oVideo.playbackRate.toFixed(1);
      }
      
    }
  </script>
</head>
<body>
    <video id="video" width="480" height="auto" src="movie.mp4"></video><br/>
    <!-- 进度条 -->
    <input id="range" type="range" step="0.1" />
    <output><span id="progress"></span> / <span id="total"></span></output><br/>
    <!-- 各种按钮 -->
    <input id="play" type="button" value="播放"/>
    <input id="add" type="button" value="音量增大"/>
    <output id="volume"></output>
    <input id="reduce" type="button" value="音量减小"/>
    <input id="muted" type="button" value="正常"/>
    <input id="fast" type="button" value="快进">
    <output id="playbackRate"></output>
    <input id="slow" type="button" value="慢进">
</body>
</html>​​
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值