微信video 視頻

<video width="320" height="240" controls>
    <source src="movie.mp4" type="video/mp4">
</video>

這是很正常的video寫法,咱們查看微信是什麼樣式  javascript

 

 

這樣種video控件樣式並非咱們想要的。全部咱們須要本身來寫視頻封面的樣式。css

 

經常使用的方式:本身來設置視頻封面的樣式。  html

第一步:找一張視頻封面,設置大小。java

第二步:video隱藏。android

第三步: 用js來監聽用戶是否點擊圖片。用戶點擊圖片,則video顯示,而且play()方法播放(jq獲取的元素沒法調用此方法)。ios

第四步:監聽video是否退出,若是退出則隱藏video。(由於微信視頻 ios和部分安卓是全屏播放視頻的)。web

var video = document.getElementById('');
video.addEventListener('pause',function () {
         video.style.display = 'none'
    });

jq調用視頻播放事件。可用$('#video').trigger('play') 此方法調用。微信

以上就是模擬視頻播放。ide

 

可是微信的video視頻是噁心到家了,有的安卓手機(例如360手機)是內聯播放。ui

什麼是內聯播放:指視頻不是全屏的,而在設置video的寬高度以內播放。

部分安卓手機:

   是全屏播放的。

360手機:

  這種播放是內聯播放(也稱嵌入播放),我設置的video 寬高爲 300* 360的。

 

要解決有兩種方法:

第一:全部手機都內聯播放

設置一下三個屬性便可內聯播放。

playsinline webkit-playsinline x5-playsinline

第二:手機所有全屏播放

看到上面部分手機是默認全屏。360不全屏怎麼能讓全屏。可使用video.js (此方法是個人解決方法)。

咱們引入video.js文件

<link rel="stylesheet" href="css/video-js.css">
<script src="js/video.min.js"></script>

<video width='300' height='300'  id='video' playsinline webkit-playsinline x5-playsinline>
    <source src="heibao.mp3" type="video/mp4">
</video>

<script>
  var myPlayer = videojs('video'); 
  myPlayer.requestFullscreen();     
</script>



這樣解決了各個手機視頻的不統一。可是!!!微信的android噁心的地方又來了

 

我沒有設置controls控價屬性,那麼視頻下面怎麼還有進度條、暫停、全屏等空間。我查閱了一些資料(若是有大佬,請不要噴我 - - )。 android的video標籤其實被微信給劫持了,video標籤的控件用應該是   這樣的,微信視頻播放的控件明顯不同,因此我認爲微信把video劫持了,把視頻放到微信本身的播放器裏播放。

 

廢話很少說怎麼把微信視頻的控件去掉:如下此屬性不支持ios。(想要設置進度條的樣式,基本上都是採用的x5同層播放,把微信的進度條去掉,本身添加進度條)

 想要去掉微信的控件,可使用x5的同層模式。 x5-video-player-type="h5" 和 x5-video-player-fullscreen="true"

這是用了 x5同層的播放器樣式。沒有了微信端控件,詳情能夠看  https://x5.tencent.com/tbs/guide/video.html   官網內容。

 

後來我採用的是第一種,全部手機全屏播放視頻。沒有研究video的視頻。x5同層播放用的仍是挺方便的。我也沒有太深的研究。

 

因爲纔剛寫博客,因此文章的文采很差,請見諒。

相關文章
相關標籤/搜索