• 移动端视屏问题


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

    <!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
  • 相关阅读:
    C++11并发内存模型学习
    C++0x对局部静态初始化作出了线程安全的要求,singleton的写法可以回归到最原始的方式
    两次fopen不同的文件返回相同的FILE* 地址
    linux kernel kill jvm
    打印Exception信息
    java map value 排序
    java was started but returned exit code 1
    hive 建表语句
    hadoop mapreduce lzo
    分词 正文提取 java
  • 原文地址:https://www.cnblogs.com/colaman/p/7274621.html
Copyright © 2020-2023  润新知