zoukankan      html  css  js  c++  java
  • 5.标签篇:audio和video

    # 5.标签篇:audio和video
    - audio 和 video
    ```html
    <style>
        * {
            margin:0;
            padding:0;
        }
        .video_player{
            position:relative;
            1000px;
            height:500px;
            margin:0 auto;
        }
        video{
            position:absolute;
            1000px;
            height:500px;
            left:0;
            top:0;
        }
        .menu{
            position:absolute;
            100%;
            height:50px;
            background:rgba(0,0,0,.5);
            bottom:0;
            display:none;
        }
        .play{
            position:absolute;
            60px;
            height:30px;
            border:1px solid white;
            text-align:center;
            line-height:30px;
            border-radius:10px;
            margin:auto 0 auto 20px;
            top:0;
            bottom:0;
            cursor:pointer;
        }
        .time{
            position:absolute;
            100px;
            height:30px;
            text-align:center;
            line-height:30px;
            margin:auto 0 auto 20px;
            top:0;
            bottom:0;
            cursor:pointer;
        }
        .progress_bar{
            position:absolute;
            100%;
            height:2px;
            background:gray;
            left:0;
            top:-2px;
        }
        .progress_bar div{
            position:absolute;
            0px;
            height:2px;
            background:orange;
            left:0;
            top:0;
        }
        .progress_bar i{
            position:absolute;
            6px;
            height:6px;
            background:white;
            border-radius:3px;
            left:120px;
            top:-2px;
        }
        .quick{
            position:absolute;
            60px;
            height:30px;
            border:1px solid white;
            text-align:center;
            line-height:30px;
            color:white;
            border-radius:10px;
            margin:auto 0 auto 20px;
            top:0;
            left:800px;
            bottom:0;
            cursor:pointer;
        }
        .quick_list{
            position:absolute;
            80px;
            height:120px;
            background:pink;
            left:800px;
            top:-120px;
            color:#fff;
            background-color:rgba(0,0,0,.5);
            display:none;
        }
        .quick_list li{
            position:relative;
            100%;
            height:30px;
            text-align:center;
            line-height:30px;
            list-style:none;
            cursor:pointer;
        }
        .quick_list li:hover{
            color:green;
        }
        .vol_add{
            position:absolute;
            60px;
            height:30px;
            border:1px solid white;
            text-align:center;
            line-height:30px;
            color:white;
            border-radius:10px;
            margin:auto 0 auto 20px;
            top:0;
            left:500px;
            cursor:pointer;
        }
        .vol_ins{
            position:absolute;
            60px;
            height:30px;
            border:1px solid white;
            text-align:center;
            line-height:30px;
            color:white;
            border-radius:10px;
            margin:auto 0 auto 20px;
            top:0;
            left:580px;
            cursor:pointer;
        }
        .full_screen{
            position:absolute;
            60px;
            height:30px;
            border:1px solid white;
            text-align:center;
            line-height:30px;
            color:white;
            border-radius:10px;
            margin:auto 0 auto 20px;
            top:0;
            left:880px;
            cursor:pointer;
        }
    </style>
    <div class="video_player">
        <video src="view.mov"></video>
        <div class="menu">
            <div class="play">播放</div>
            <div class="time">0:00/0:00</div>
            <div class="progress_bar">
                <div></div>
                <i></i>
            </div>
            <div class="quick">倍速</div>
            <div class="quick_list">
                <ul>
                    <li>正常</li>
                    <li>1.25</li>
                    <li>1.5</li>
                    <li>2.0</li>
                </ul>
            </div>
            <div class="vol_add">音量加</div>
            <div class="vol_ins">音量减</div>
            <div class="full_screen">全屏</div>
        </div>
    </div>
    <script>
        var videoPlayer = document.getElementByClassName("video_player")[0];
        var menu = document.getElementByClassName("menu")[0];
        var play = document.getElementByClassName("play")[0];
        var video = document.getElementsByTagName("video")[0];
        var time = document.getElementByClassName("time")[0];
        var progressBar = document.getElementByClassName("progress_bar")[0];
        var quick = document.getElementByClassName("quick")[0];
        var quickList = document.getElementByClassName("quick_list")[0];
        var volAdd = document.getElementByClassName("vol_add")[0];
        var volIns = document.getElementByClassName("vol_ins")[0];
        var fullScreen = document.getElementByClassName("full_screen")[0];
        
        videoPlayer.onmouseenter = function(){
            menu.style.display = "block";
        };
        videoPlayer.onmouseleave = function(){
            menu.style.display = "none";
        };
        play.onclick = function(){//视频播放与暂停
            if(video.paused){//视频处于暂停状态
                video.play();//视频播放
                play.innerHTML = "暂停";
            }else{
                video.pause();//视频暂停
                play.innerHTML = "播放";
            }
        };
        setInterval(function(){
            var total = video.duration;//视频总时长
            var nowTime = video.currentTime;//当前播放时间
            time.innerHTML = parseInt(nowTime/60) + ":" + parseInt(nowTime%60) + "/" + parseInt(total/60) + ":" + parseInt(total%60);//设置播放时间
            var progressBarWidth = nowTime / total * progressBar.clientWidth;
            progressBar.getElementsByTagName("div")[0].style.width = width + "px";
            progressBar.getElementsByTagName("i")[0].style.left = width + "px";
        }, 1000);
        progressBar.onmouseenter = function(){
            progressBar.style.height = "14px";
            progressBar.style.top = "-14px";
            progressBar.getElementsByTagName("div")[0].style.height = "14px";
            progressBar.getElementsByTagName("i")[0].style.height = "18px";
        };
        progressBar.onmouseleave = function(){
            progressBar.style.height = "2px";
            progressBar.style.top = "-2px";
            progressBar.getElementsByTagName("div")[0].style.height = "2px";
            progressBar.getElementsByTagName("i")[0].style.height = "6px";
        };
        progressBar.onclick = function(e){
            var location = e.layerX;
            var width = progressBar.clientWidth;
            var targetTime = location / width * video.duration;
            video.currentTime = targetTime;//只有在响应头(Response Headers)里面有Content-Range属性,才能进行进度跳转,否则不能进行跳转
        };
        quick.onclick = function(){
            quickList.style.display = "block";
        }
        quick.onmouseleave = function(){
            quickList.style.display = "none";
        }
        var liList = quickList.getElementsByTagName("ul")[0].getElementsByTagName("li");
        for(var i = 0; i < liList.length; i++){
            list[i].index = i;
            list[i].onclick = function(){
                if(this.index == 0){//正常
                    video.playbackRate = 1;//设置速率
                    quick.innerHTML = "倍速";
                }else if(this.index == 1){//1.25
                    video.playbackRate = 1.25;
                    quick.innerHTML = "x 1.25";
                }else if(this.index == 2){//1.5
                    video.playbackRate = 1.5;
                    quick.innerHTML = "x 1.5";
                }else if(this.index == 3){//2
                    video.playbackRate = 2;
                    quick.innerHTML = "x 2";
                }
            }
        }
        volAdd.onclick = function(){
            video.volume = video.volume + 0.1 > 1 ? 1 : video.volume + 0.1;
        }
        volIns.onclick = function(){
            video.volume = video.volume - 0.1 < 0 ? 0 : video.volume - 0.1;
        }
        fullScreen.onclick = function(){
            var dom = document.documentElement;
            dom.requestFullscreen();//全屏
            videoPlayer.style.width = window.screen.width + "px";
            videoPlayer.style.height = window.screen.height + "px";
            video.style.style.width = window.screen.width + "px";
            video.style.style.height = window.screen.height + "px";
        }
        videoPlayer.onmousemove = function(){
            //利用函数防抖控制菜单隐藏,未实现
            menu.style.display = "block";
        };
    </script>
    ```
     
    以上是markdown格式的笔记
  • 相关阅读:
    ACE 的一些词汇
    odbc连接不上,初步猜想是myodbc安装有问题
    1分钟 当数据库管理员
    硬件申请
    编译删除
    ASP.NET之数据绑定
    发布、订阅、复制、同步SQL Server 2000 数据库
    SQL——添加约束的语句
    SQL——规则
    十大著名黑客—— 凯文米特尼克
  • 原文地址:https://www.cnblogs.com/lanshanxiao/p/12976809.html
Copyright © 2011-2022 走看看