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
  • 相关阅读:
    Delphi XE5 android 蓝牙通讯传输
    Delphi XE5 android toast
    Delphi XE5 android openurl(转)
    Delphi XE5 如何设计并使用FireMonkeyStyle(转)
    Delphi XE5 android 捕获几个事件
    Delphi XE5 android listview
    Delphi XE5 android 黑屏的临时解决办法
    Delphi XE5 android popumenu
    Delphi XE5 android 获取网络状态
    Delphi XE5 android 获取电池电量
  • 原文地址:https://www.cnblogs.com/colaman/p/7274621.html
Copyright © 2011-2022 走看看