在ios和android上有顯示的區別,若是你只是顯示一個普通的網頁,只須要在iOS上加上webkit-playsinline="true" 安卓上x5-video-player-type="h5" x5-video-player-fullscreen="true" x5-video-orientation="portraint",便可實如今微信上的同層播放;iOS和安卓顯示和播放沒有問題;
若是你跟我同樣想要把視頻放到swiper裏,且不是在第一頁播放視頻,並想要視頻有圓角。那麼問題就來了。首先在swiper非第一屏播放安卓會出現的問題是豎屏只有聲音沒有圖像,我嘗試了很久只須要去掉安卓部分的同層播放代碼便可,即去掉x5-video-player-type="h5";若是視頻在swiper裏,你確定會有這樣的需求,就是滑動到非視頻頁的時候,暫停視頻,並出現一個模擬的暫停按鈕在視頻上方。這裏能夠這樣寫:html
const mySwiper = new Swiper('.swiper-container', { direction: 'vertical', on: { slideChangeTransitionEnd: function() { if (this.activeIndex != 1) { //暫停視頻代碼 } } } })
這裏定義一個是否顯示暫停的按鈕的變量showPoster,來顯示暫停模擬按鈕和隱藏video;
這裏顯示播放按鈕必須和視頻顯示必須呈反相關,由於不這樣做會有不少默認的bug,致使video_container的overflow:hidden不生效,沒法顯示圓角,這算是一種比較圓滑的作法了;我試過將video的position設爲fixed 這樣雖然能正常顯示和隱藏模擬的點擊按鈕,但會讓父級的overflow:hidden失效。沒法顯示視頻圓角。代碼大概以下:android
<div class="video_container"> <div class="clickVideo" @click="playVideo()" v-show="showPoster"> <img src="../assets/點擊播放按鈕.png"/> </div> <video v-show="!showPoster" src="../assets/QQ20181214-221408-HD.mp4" id="video" preload="auto" x5-video-player-fullscreen="true" x5-video-orientation="portraint" airplay="allow" x-webkit-airplay="allow" playsinline="true" webkit-playsinline="true" style="object-fit:fill" > <!-- controls="controls" 待加 poster="../assets/share.png" 安卓同層播放屬性 x5-video-player-type="h5" //啓用同層播放。取值固定爲'h5'。 啓用以後僅安卓在swiper第二頁播放豎屏不顯示畫面因此這裏暫不用 x5-video-player-fullscreen="true" //設置爲 true 是防止橫屏 x5-video-orientation="portraint" //豎屏 landscape 橫屏 ios同層播放屬性 airplay="allow" x-webkit-airplay="allow" playsinline="true" //IOS微信瀏覽器支持小窗內播放 webkit-playsinline="true" // 這個屬性是ios 10中設置可讓視頻在小窗內播放,也就是否是全屏播放 --> </video> </div> <style lang="less"> .video_container{ @w: 670px/2; @h: 377px/2; @borderRadius: 50px; width:@w; height:@h; margin:100px auto; border-radius:@borderRadius; overflow: hidden; position: relative; .clickVideo{ position: absolute; width:@w; height:@h; background:#ccc; z-index:999; & > img { @play:60px; width:@play; height:@play; position:absolute; top:50%; left:50%; transform: translate(-50%, -50%) } } video{ width:@w; height:@h; } } </style>
注:若是你在swiper的非第一頁使用視頻,在安卓手機上會出現視頻黑屏但能夠播放聲音的問題,這個時候就能夠不使用安卓的同層播放,即不使用x5-video-player-type="h5"便可。
同層播放的資料參考連接:http://www.cnblogs.com/jinjin...ios