關於如何在微信里面讓video不全屏播放


        發現一個更簡單的解決方法,加上一條屬性即可。x5-video-player-type=”h5″。通過設置這個屬性,讓video開啟同層H5播放器。另外在X5內核里,video是單獨的一個view,會覆蓋在任何元素之上,據說是為了統一用戶體驗,加上這個屬性之后,也可以讓其他元素浮在video上面了。

經過測試,在IOS設備,依然還需要添加如下屬性

 

1  x-webkit-airplay=”true” playsinline webkit-playsinline=”true”
<video id="video" src="mp4.mp4" x-webkit-airplay="true" playsinline webkit-playsinline="true" x5-video-player-type="h5"></video>

另外還有幾個屬性 x5-video-player-fullscreen=”true”,視頻播放時將會進入到全屏模式。

x5­video­orientation,聲明播放器支持的方向,可選值: landscape 橫屏, portraint豎屏 ,此屬性只在聲明了x5­video­player­type=”h5″情況下生效。

1 <video src="m.mp4" playsinline="true" webkit-playsinline="true" 
2 x-webkit-airplay="true" x5-video-player-type="h5" x5-video-orientation="h5" 
3 x5-video-player-fullscreen="true" preload="auto" style="object-fit:fill;"></video>

preload="auto"   開啟視頻緩沖,頁面加載完即加載視頻

webkit-playsinline="true"  控制當前視頻在當前設置的div里面播放,不脫離文檔流

x-webkit-airplay="true"  支持Airplay的設備

x5-video-player-type="h5"  開啟同層播放器,取消播放器的默認的播放按鈕和播放器控制器控制面板,整個頁面只保留微信默認自帶的返回和關閉菜單

x5-video-player-type="h5"  x5-video-player-fullscreen="true"  同層播放器設置類型為h5和設置視頻播放為全屏幕

 style="object-fit:fill;" css3樣式設置填充整個屏幕

通過屬性的設置和樣式的控制讓視頻全屏顯示。

 

 

請看demo

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Examples</title>
    <meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no" name="viewport"/>
    <meta name="description" content="">
    <meta name="keywords" content="">
    <link href="" rel="stylesheet">
</head>
<style>
    *{margin:0;padding: 0}
    html,body,video{width: 100%;height: 100%; position: relative;overflow: hidden;}
    video{ object-fit: cover;}
    div,#endBtn{ position: absolute; width: 100px;height: 100px; left: 50%;top: 50%; margin-left: -50px;margin-top: -50px; background: red;z-index: 100;color: #fff;text-align: center;font-size: 14px; line-height: 100px;border:none;
        transition: all 1s ease;-webkit-transition: all 1s ease;
      }
    div.move{
        transform: translate3d(0,-688px,0);
        -webkit-transform: translate3d(0,-688px,0);
    }
    #endBtn{
    transition: all 1s ease;-webkit-transition: all 1s ease;
    transform: translate3d(0,688px,0);
        -webkit-transform: translate3d(0,688px,0);
    }
    #endBtn.move{
        transform: translate3d(0,0px,0);
        -webkit-transform: translate3d(0,0,0);
    }
</style>
<body>
    <div id="div">點擊播放</div>
    <video id="video" src="http://itakeo.com/down/video/mp4.mp4" poster="poster.jpg" muted x-webkit-airplay="true" playsinline  webkit-playsinline="true"  x5-video-player-type="h5"  ></video>
    <button id="endBtn">再次播放</button>
</body>
<script>
    div.ontouchend = div.onclick = function(){
        this.classList.add('move')
        video.play()
    }
    endBtn.ontouchend = endBtn.onclick = function(){
        this.classList.remove('move')
        video.play()
    }
    video.addEventListener('ended',function(){
       endBtn.classList.add('move')
    })
</script>
</html>

  更多關於關於iOS video標簽限制和支持格式
  請參考Apple文檔
https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html#//apple_ref/doc/uid/TP40009523-CH5-SW1

2017-12-06 23:54:32


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM