• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    怎樣實現H5微信播放全屏

    來源:懂視網 責編:小采 時間:2020-11-27 15:06:11
    文檔

    怎樣實現H5微信播放全屏

    怎樣實現H5微信播放全屏:這次給大家帶來怎樣實現H5微信播放全屏,實現H5微信播放全屏的注意事項有哪些,下面就是實戰案例,一起來看一下。解決辦法:給video標簽加一些屬性,調用h5原生video。<video id="videoALL" src="video/01.mp4&qu
    推薦度:
    導讀怎樣實現H5微信播放全屏:這次給大家帶來怎樣實現H5微信播放全屏,實現H5微信播放全屏的注意事項有哪些,下面就是實戰案例,一起來看一下。解決辦法:給video標簽加一些屬性,調用h5原生video。<video id="videoALL" src="video/01.mp4&qu

    這次給大家帶來怎樣實現H5微信播放全屏,實現H5微信播放全屏的注意事項有哪些,下面就是實戰案例,一起來看一下。

    解決辦法:給video標簽加一些屬性,調用h5原生video。

    <video
     id="videoALL" 
     src="video/01.mp4" 
     poster="images/1.jpg" /*視頻封面*/
     preload="auto" 
     webkit-playsinline="true" /*這個屬性是ios 10中設置可以
     讓視頻在小窗內播放,也就是不是全屏播放*/ 
     playsinline="true" /*IOS微信瀏覽器支持小窗內播放*/ 
     x-webkit-airplay="allow" 
     x5-video-player-type="h5" /*啟用H5播放器,是wechat安卓版特性*/
     x5-video-player-fullscreen="true" /*全屏設置,
     設置為 true 是防止橫屏*/>
     x5-video-orientation="portraint" /*播放器支付的方向,
     landscape橫屏,portraint豎屏,默認值為豎屏*/
     style="object-fit:fill">
    </video>

    poster="images/1.jpg":屬性規定視頻下載時顯示的圖像,或者在用戶點擊播放按鈕前顯示的圖像。如果未設置該屬性,則使用視頻的第一幀來代替。

    preload="auto" :屬性規定在頁面加載后載入視頻。

    webkit-playsinline和playsinline:視頻播放時局域播放,不脫離文檔流 。但是這個屬性比較特別, 需要嵌入網頁的APP比如WeChat中UIwebview 的allowsInlineMediaPlayback = YES webview.allowsInlineMediaPlayback = YES,才能生效。換句話說,如果APP不設置,你頁面中加了這標簽也無效,這也就是為什么安卓手機WeChat 播放視頻總是全屏,因為APP不支持playsinline,而ISO的WeChat卻支持。

    這里就要補充下,如果是想做全屏直播或者全屏H5體驗的用戶,ISO需要設置刪除 webkit-playsinline 標簽,因為你設置 false 是不支持的 ,安卓則不需要,因為默認全屏。但這時候全屏是有播放控件的,無論你有沒有設置control。 做直播的可能用得著播放控件,但是全屏H5是不需要的,那么去除全屏播放時候的控件,需要以下設置:同層播放。

    x-webkit-airplay="allow"暫時無法確切的知道其作用,但是小編猜測,這個屬性應該是使此視頻支持ios的AirPlay功能。使用AirPlay可以直接從使用iOS的設備上的不同位置播放視頻、音樂還有照片文件,也就是說通過AirPlay功能可以實現影音文件的無線播放,當然前提是播放的終端設備也要支持相應的功能。

    x5-video-player-type:啟用同層H5播放器,就是在視頻全屏的時候,p可以呈現在視頻層上,也是WeChat安卓版特有的屬性。同層播放別名也叫做沉浸式播放,播放的時候看似全屏,但是已經除去了control和微信的導航欄,只留下"X"和"<"兩鍵。目前的同層播放器只在Android(包括微信)上生效,暫時不支持iOS。至于為什么同層播放只對安卓開放,是因為安卓不能像ISO一樣局域播放,默認的全屏會使得一些界面操作被阻攔,如果是全屏H5還好,但是做直播的話,諸如彈幕那樣的功能就無法實現了,所以這時候同層播放的概念就解決了這個問題。不過在測試的過程中發現,不同版本的ISO和安卓效果略有不同。

    x5-video-orientation:聲明播放器支持的方向,可選值landscape 橫屏, portraint豎屏。默認值portraint。無論是直播還是全屏H5一般都是豎屏播放,但是這個屬性需要x5-video-player-type開啟H5模式

    x5?-video?-player?-fullscreen:全屏設置。它又兩個屬性值,ture和false,true支持全屏播放,false不支持全屏播放。

    其實,ISO 微信瀏覽器是Chrome的內核,相關的屬性都支持,也是為什么X5同層播放不支持的原因。安卓微信瀏覽器是X5內核,一些屬性標簽比如playsinline就不支持,所以始終全屏。

    還有個問題,在Android的微信里面,就算加上了上面的屬性,還會出現上下有黑邊,不能全屏的問題。

    解決辦法:給video加上object-fit: fill;的style屬性。如果還是有黑邊有可能是視頻尺寸不合適。

    <p id="videobox">
     <video 
     id="videoALL" 
     src="mp4.mp4" 
     poster="1.jpg" 
     preload="auto" 
     webkit-playsinline="true" 
     playsinline="true" 
     x-webkit-airplay="allow" 
     x5-video-player-type="h5" 
     x5-video-player-fullscreen="true" 
     x5-video-orientation="portraint"
     style="object-fit:fill">
     </video> 
     <p id="btn" onclick="playcontr()"></p>
    </p>
    <p id="videoend"><p id="againbtn" onclick="playcontr()"></p></p>
    *{
     padding: 0;
     margin: 0;
     }
     #videobox{position: absolute;width: 100%;height: 100%;background-color: green;background-image: url(1.jpg);background-size: 100% 100%;background-position: top;overflow: hidden;}
     #videoALL{
     height: auto;
     position: absolute;
     width: 100%;
     top: 0;
     left: 0;
     object-fit: fill;
     display: block;
     background-size: cover;
     overflow: hidden;}
     #btn,#againbtn{width: 81px;height: 75px;position: absolute;top: 50%;left:50%;margin-top: -37.5px;margin-left: -40.5px;background-image: url(btn.png);background-size: 100% 100%;}
     #videoend{position: absolute;background-color: pink;display: none;background-image: url(2.jpg);background-size: cover;background-position: top;}
    <script>
    var videoALL = document.getElementById('videoALL'),
     videobox = document.getElementById('videobox'),
     btn = document.getElementById('btn'),
     videoend = document.getElementById('videoend');
    var clientWidth = document.documentElement.clientWidth;
    var clientHeight = document.documentElement.clientHeight;
    videoALL.style.width = clientWidth + 'px';
    videoALL.style.height = 'auto';
    document.addEventListener('touchmove', function(e){e.preventDefault()}, false);
    function stylep(pId){
     pId.style.width = clientWidth + 'px';
     pId.style.height = clientHeight +200+ 'px'; 
    }
    stylep(videobox);
    stylep(videoend);
    var u = navigator.userAgent; 
    var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android終端 
    var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端 
    function playcontr(){
     if (isAndroid) {
     videoALL.style.width = window.screen.width + 'px';
     videoALL.style.height = window.screen.height + 'px'; 
     }
     videobox.style.display = "block";
     videoALL.play();
     btn.style.display = "none";
     videoend.style.display = "none";
    };
    videoALL.addEventListener('pause',function(){ 
     videoALL.style.width = clientWidth + 'px';
     btn.style.display = "block";
    }) 
    videoALL.addEventListener("ended",function(){
     videoALL.pause();
     videobox.style.display = "none";
     videoend.style.display = "block";
    });
    </script>

    相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

    推薦閱讀:

    H5的存儲方式詳解

    zepto實現移動端無縫向上下滾動

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    怎樣實現H5微信播放全屏

    怎樣實現H5微信播放全屏:這次給大家帶來怎樣實現H5微信播放全屏,實現H5微信播放全屏的注意事項有哪些,下面就是實戰案例,一起來看一下。解決辦法:給video標簽加一些屬性,調用h5原生video。<video id="videoALL" src="video/01.mp4&qu
    推薦度:
    標簽: 微信 全屏 播放
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 精品国产美女福利到在线不卡| 国产成人无码精品久久久久免费| 国内精品久久国产大陆| 精品国产亚洲男女在线线电影 | 国产成人精品一区在线| 精品久久人妻av中文字幕| 久久久久无码精品国产app| 久久国产乱子精品免费女| 色国产精品一区在线观看| 日韩精品欧美| 国产精品高清免费网站| 精品亚洲永久免费精品| 国产精品揄拍100视频| 亚洲日韩一页精品发布| 热久久国产欧美一区二区精品 | 曰韩精品无码一区二区三区| 国产精品小黄鸭一区二区三区| 国产人成精品午夜在线观看| 久久精品蜜芽亚洲国产AV| 亚洲精品456播放| 欧美成人精品欧美一级乱黄一区二区精品在线 | 国产午夜无码精品免费看动漫 | 精品亚洲欧美无人区乱码 | 色花堂国产精品第一页| 国产精品ⅴ无码大片在线看| 少妇人妻偷人精品视频| 亚洲国产精品成人| 欧美亚洲综合免费精品高清在线观看 | 在线亚洲欧美中文精品| 午夜在线视频91精品| 久久夜色精品国产www| 欧美成人精品高清在线播放| 久久精品国产99久久丝袜| 精品欧美一区二区在线观看| 好湿好大硬得深一点动态图91精品福利一区二区| 91精品无码久久久久久五月天| 在线观看日韩精品| 国产成人亚洲精品91专区手机| 国产精品午夜一级毛片密呀| 久久精品国产一区二区| 亚洲国产精品无码久久久久久曰 |