zoukankan      html  css  js  c++  java
  • 移动端视屏问题

    实现了移动端点击图片视屏全屏播放,退出视屏隐藏

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                html,
                body {
                    padding: 0;
                    margin: 0;
                     100%;
                    height: 100%;
                    -webkit-user-select: none;
                    user-select: none;
                    overflow: hidden;
                }
                #videobox {
                     100px;
                    height: 100px;
                    overflow: hidden;
                    background-color: red;
                }
                video {
                     1px;
                    display: blcok;
                }
            </style>
        </head>
    
        <body>
            <div id="videobox">
                <video id="video" playsinline webkit-playsinline="true" src="http://7xvl2z.com1.z0.glb.clouddn.com/nigg2.mp4"></video>
            </div>
            <script type="text/javascript">
                var video = document.querySelector('#video');
                var videobox = document.querySelector('#videobox');
    
                //播放时改变外层包裹的宽度,使video宽度增加,
                //相应高度也增加了,播放器控件被挤下去,配合overflow:hidden
                //控件看不见也触摸不到了
                var setVideoStyle = function() {
                    videobox.style.width = '120%';//把视屏撑大20%为了把控制条顶出可视区域
                    videobox.style.left = '-10%';
                    video.style.width = '100%';
                }
                document.getElementById('videobox').addEventListener('click', function() {
                    setVideoStyle();
                    document.getElementById('video').play();//一般是点击一张图片视屏开始播放
                }, false);
                document.getElementById('video').addEventListener('ended', function() {
                    document.getElementById('videobox').style.display = "none";//监听视屏是否播放完成,完成后把视屏隐藏
                }, false);
                document.getElementById('video').addEventListener('pause', function() {
                    document.getElementById('videobox').style.display = "none";//监听视屏是否暂停
                }, false);
            </script>
        </body>
    </html>
    playsinline webkit-playsinline 这两个属性则是对视频全屏处理的

    比较纠结的一个问题是,如果用户在视屏没有完全播放完的时候就退出视屏通过什么来监听这个动作,视屏全部放完的话直接ended的就可以了,找了一些方法
    和资料也并没有奏效,后来我想用户在没看完的情况下退出全屏这个动作视屏当时应该是会自己自动的暂停吧,于是我就用pause试了一下果然是可行的

    onplaying 事件在视频暂停后准备开始播放时执行 JavaScript



    这里贴出主要资料的地址:
    https://segmentfault.com/a/1190000006857675#articleHeader4
  • 相关阅读:
    Linux内存管理 -- /proc/{pid}/smaps讲解
    link hub(other)
    牛客项目平台管家 | xie_note 学习笔记整理📚 项目来源:https://github.com/Making-It/note ,已获得授权转载
    【Linux】C++后台开发面试
    C++ 后台开发面试时一般考察什么?
    Linux C/C++ 学习路线(已拿腾讯、百度 offer)2
    C++路线图
    【转】C++后台开发校招面试常见问题
    【转】Linux C/C++ 学习路线(已拿腾讯、百度 offer)
    学习经验总结|C++后台开发/云计算方向,offer收割机的学习路线
  • 原文地址:https://www.cnblogs.com/colaman/p/7274621.html
Copyright © 2011-2022 走看看