• X5内核浏览器video自动全屏解决办法-canvas


    最近在做手机端上面播放视频的项目,但是在安卓上面,video的播放是脱离页面,置于最顶层的,所以带来了很多问题,为了解决这个问题,查看了多方资料,写了下面简单的demo,方便以后使用。

    下面就是运用canvas重绘video视频。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=640,user-scalable=no"/>
        <title>X5内核浏览器video自动全屏解决办法-canvas</title>
        <style>
            *{
                margin: 0;
                padding: 0;
            }
            html,body{
                width: 100%;
                height: 100%;
                overflow:hidden!important;
            }
            
            .content{
                position: absolute;
                width: 100%;
                height: 1136px;
                top: 50%;
                transform: translate3d(0, -50%, 0);
            }
    
            #play{
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate3d(-50%, -50%, 0);
                width: 100px;
                height: 100px;
                line-height: 100px;
                font-size: 28px;
                border: 1px solid #000;
                color: #000;
                text-align: center;
                border-radius: 50%;
            }
            #video{
                position:absolute;
                left:50%;
                transform: translate3d(-50%,0,0);
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center center;
                display:none;
            }
            #myCanvas{
                display: block;
            }
            
        </style>
    </head>
    <body>
        <div class="content">
            <div id="play">播放</div>
            <video id="video" x5-playsinline="true" playsinline="true" webkit-playsinline="true" x5-video-player-type="h5" x5-video-player-fullscreen="true" src="movie.mp4" preload></video>
            <canvas id="myCanvas">
                Your browser does not support the HTML5 canvas tag.
            </canvas>
        </div>
        <script type="text/javascript">
    
            var v = document.getElementById('video');
            var c = document.getElementById('myCanvas');
            var ctx = c.getContext('2d');
            document.getElementById("myCanvas").width = 640;  
            document.getElementById("myCanvas").height = 1136; 
            var cwidth = document.getElementById('myCanvas').offsetWidth;
            var cheight = document.getElementById('myCanvas').offsetHeight;
            // 初始化定时器
            var i=null;
            document.getElementById("play").addEventListener("click",function(){
                document.getElementById('video').play()
            });
            // 播放
            v.addEventListener("play", function() {
                document.getElementById("play").style.cssText = " display:none ";
                var i = window.setInterval(function() {
                    ctx.drawImage(v, 0, 0, cwidth, cheight);
                }, 20);  // 每0.02秒画一张图片
            }, false);
    
            // 暂停
            v.addEventListener("pause", function() {
                window.clearInterval(i);  // 暂停绘画
            }, false);
    
            // 结束
            v.addEventListener("ended", function() {
                clearInterval(i);
            }, false);
        </script>
    </body>
    </html>
  • 相关阅读:
    函数、包和错误处理
    程序流程控制
    poj 2515 Birthday Cake
    poj 2094 多项式求和。
    hdu 3625 第一类striling 数
    hdu 4372 第一类stirling数的应用/。。。好题
    poj 1845 Sumdiv
    hdu 3641 Treasure Hunting 强大的二分
    poj 3335 /poj 3130/ poj 1474 半平面交 判断核是否存在 / poj1279 半平面交 求核的面积
    hdu 2841 Visible Trees
  • 原文地址:https://www.cnblogs.com/winteronlyme/p/9002002.html
Copyright © 2020-2023  润新知