好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 淺談html5 video 移動端填坑記

淺談html5 video 移動端填坑記

熱門標簽:當涂高德地圖標注 鎮江智能外呼系統有效果嗎 電銷機器人電話用什么卡 云南大理400電話申請官方 四川點撥外呼系統 江蘇智能電銷機器人哪家好 南寧點撥外呼系統哪家公司做的好 黃島區地圖標注 成都智能外呼系統平臺

本文介紹了html5 video 移動端填坑記,分享給大家,具體如下:

<video id="video" 
  style="object-fit:fill" 
  autoplay
  webkit-playsinline 
  playsinline 
  x5-video-player-type="h5"
  x5-video-player-fullscreen="true"
  x5-video-orientation="portraint" 
  src="video.mp4" />
</video>
<!--
  object-fit: fill   視頻內容充滿整個video容器
  poster:"img.jpg" 視頻封面
  autoplay: 自動播放
     auto - 當頁面加載后載入整個視頻
     meta - 當頁面加載后只載入元數據
     none - 當頁面加載后不載入視頻

  muted:當設置該屬性后,它規定視頻的音頻輸出應該被靜音

  webkit-playsinline playsinline:   內聯播放

  x5-video-player-type="h5" :  啟用x5內核H5播放器
  x5-video-player-fullscreen="true"  全屏設置。ture和false的設置會導致布局上的不一樣
  x5-video-orientation="portraint" :聲明播放器支持的方向,可選值landscape 橫屏,portraint豎屏。
                                     默認值portraint。無論是直播還是全屏H5一般都是豎屏播放,
                                     但是這個屬性需要x5-video-player-type開啟H5模式
-->

自動播放

設置autoplay屬性

<video autoplay></video>

移動瀏覽器中

但是在很多移動瀏覽器里,都是要求用戶的真實操作來(touchend、click、doubleclick 或 keydown 事件等標準的事件)觸發調用video.play(),才能自動播放影音視頻。

 dom.addEventListener('click', function () {
   video.play()
})

微信中

也可以在  wx.ready()里觸發video.play()

wx.ready(function () {
  video.play()
})

內聯播放

設置屬性 webkit-playsinline playsinline

<video id="video" webkit-playsinline playsinline /></video>

在iOS Safari和一些安卓的一些瀏覽器下播放視頻的時候,不能在h5頁面中播放視頻,系統會自動接管視頻

如果需要在h5頁面內播放視頻,需要在視頻標簽上加上  webkit-playsinline,在iOS10以后,需要加上playsinline,建議同時加上這兩個屬性。同時還需要app支持這種模式

webview.allowsInlineMediaPlayback = YES;

ios手Q和微信都支持這種模式,但是android 微信就掛了

android 微信

android微信內置瀏覽器采用騰訊X5內核,不遵循X5web標準,video強制全屏就是其一。視頻播放完畢后還會出現QQ自己的視頻推薦

據說,其有個白名單,白名單下的視頻資源,就不會全屏。但是騰訊已經不能再增加白名單了。尿性,無解。。。。。。

目前還有一個解決辦法,就是使用h5  canvas 播放 video

canvas 播放視頻

使用canvas 遇到的坑:video 必須加 x5-video-player-type="h5" 屬性,否則,在移動端就會卡死不能播放視頻,個人認為是因為視頻被接管的原因導致。

<div class="wrapper">
  <video id="video" style="display: none" autoplay src="video.mp4" x5-video-player-type="h5"></video>
  <canvas id="canvas"></canvas>
</div>
<script>
  var video = document.querySelector('#video')
  var canvas = document.querySelector('#canvas')
  var wrapper = canvas.parentNode
  var width = wrapper.offsetWidth
  var height = wrapper.offsetHeight
  var ctx = c.getContext('2d')
  var time = null
  canvas.width = width
  canvas.height = height

  canvas.addEventListener('click', function () {
    video.play()
  })

  video.addEventListener('play', function () {
      time = window.setInterval(function () {
        ctx.drawImage(v, 0, 0, width, height);
      }, 20);
  }, false);

  video.addEventListener('pause', function () {
      window.clearInterval(time);
  }, false);

  video.addEventListener('ended', function () {
      window.clearInterval(time);
  }, false);
</script>

最后發現,雖然使用canvas播放視頻,android微信中可以屏蔽全屏視頻播放完的推薦視頻。但是還沒辦法禁止視頻播放時 的全屏問題。還是得萬惡的白名單。吐槽。。。。。。。。。。。。。。。。
更坑爹的是沒有找到js觸發退出全屏的方法。

ios黑屏問題

ios 在播放視頻時,會出現短暫的黑屏,然后正常顯示。

解決方法:

在視頻上層覆蓋一個 添加一個div并用一張圖片填充,制造播放前加載假象。然后監聽事件 timeupdate ,視頻播放有畫面時移除這個“div塊”

video.addEventListener('timeupdate', function(){
  if(video.currentTime > 0.1){
      posterImg.hidden();
  }
})

Media 方法和屬性

HTMLVideoElement和HTMLAudioElement 均繼承自HTMLMediaElement

// 媒體錯誤
MediaObj.error; //null:正常
MediaObj.error.code; //1.用戶終止 2.網絡錯誤 3.解碼錯誤 4.URL無效

//媒體當前狀態
MediaObj.currentSrc; //返回當前資源的URL
MediaObj.src = value; //返回或設置當前資源的URL
MediaObj.canPlayType(type); //是否能播放某種格式的資源
MediaObj.networkState; //0.此元素未初始化 1.正常但沒有使用網絡 2.正在下載數據 3.沒有找到資源
MediaObj.load(); //重新加載src指定的資源
MediaObj.buffered; //返回已緩沖區域,TimeRanges
MediaObj.preload; //none:不預載 metadata:預載資源信息 auto:

//準備狀態
MediaObj.readyState;//1:HAVE_NOTHING 
                    //2:HAVE_METADATA 
                   //3.HAVE_CURRENT_DATA 
                  //4.HAVE_FUTURE_DATA 
                 //5.HAVE_ENOUGH_DATA
MediaObj.seeking; //是否正在seeking

//回放狀態
MediaObj.currentTime = value; //當前播放的位置,賦值可改變位置
MediaObj.startTime; //一般為0,如果為流媒體或者不從0開始的資源,則不為0
MediaObj.duration; //當前資源長度 流返回無限
MediaObj.paused; //是否暫停
MediaObj.defaultPlaybackRate = value;//默認的回放速度,可以設置
MediaObj.playbackRate = value;//當前播放速度,設置后馬上改變
MediaObj.played; //返回已經播放的區域,TimeRanges,關于此對象見下文
MediaObj.seekable; //返回可以seek的區域 TimeRanges
MediaObj.ended; //是否結束
MediaObj.autoPlay; //是否自動播放
MediaObj.loop; //是否循環播放
MediaObj.play(); //播放
MediaObj.pause(); //暫停

//視頻控制
MediaObj.controls;//是否有默認控制條
MediaObj.volume = value; //音量
MediaObj.muted = value; //靜音

//TimeRanges(區域)對象
TimeRanges.length; //區域段數
TimeRanges.start(index) //第index段區域的開始位置
TimeRanges.end(index) //第index段區域的結束位置

//【★★★**相關事件**★★★】
//事件分發
var eventTester = function(e){
    Media.addEventListener(e,function(){
        console.log((new Date()).getTime(),e)
    },false);
}
//事件監聽
eventTester("loadstart"); //客戶端開始請求數據
eventTester("progress"); //客戶端正在請求數據
eventTester("suspend"); //延遲下載
eventTester("abort"); //客戶端主動終止下載(不是因為錯誤引起)
eventTester("loadstart"); //客戶端開始請求數據
eventTester("progress"); //客戶端正在請求數據
eventTester("suspend"); //延遲下載
eventTester("abort"); //客戶端主動終止下載(不是因為錯誤引起),
eventTester("error"); //請求數據時遇到錯誤
eventTester("stalled"); //網速失速
eventTester("play"); //play()和autoplay開始播放時觸發
eventTester("pause"); //pause()觸發
eventTester("loadedmetadata"); //成功獲取資源長度
eventTester("loadeddata"); //
eventTester("waiting"); //等待數據,并非錯誤
eventTester("playing"); //開始回放
eventTester("canplay"); //可以播放,但中途可能因為加載而暫停
eventTester("canplaythrough"); //可以播放,歌曲全部加載完畢
eventTester("seeking"); //尋找中
eventTester("seeked"); //尋找完畢
eventTester("timeupdate"); //播放時間改變
eventTester("ended"); //播放結束
eventTester("ratechange"); //播放速率改變
eventTester("durationchange"); //資源長度改變
eventTester("volumechange"); //音量改變

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:淮安 佳木斯 咸寧 西寧 十堰 廣西 酒泉 南京

巨人網絡通訊聲明:本文標題《淺談html5 video 移動端填坑記》,本文關鍵詞  淺談,html5,video,移動,端填,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談html5 video 移動端填坑記》相關的同類信息!
  • 本頁收集關于淺談html5 video 移動端填坑記的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美三级视频在线播放| 国产丰满老熟女60岁重口对白| 扒开美女?狂揉?真人游戏| 一夜七次郎在线在线观看www| 动漫美女被免费漫画| 欧美一级姪片A片洛丽塔| 小黄文好湿好紧好硬| 睾丸上长了一个小肉球硬硬的 | 国产AV人人爽96人人爱| 韩国啪啪高清网站| 极品全能学生| 久久久xxx| 夜精品A片一区二区无码69堂 | 再深点灬舒服灬快h视频| 丁香六月婷婷在线观看视频| 黑人巨大精品欧美AV免费| 外国的黄大片| 免费一极毛片| 公交车上荫蒂添的好舒服口述小说| 无码日韩精品一区二区三区免费| 超★痴女メイド2| 日本捏双乳gif动态图| 意大利xxxx极品| 无码紧身牛仔裤在线视频| 久久精品国产亚洲AV高清美脚| 美女下部的隐私免费视频软件| 亚洲综合偷自成人网第页色| 国产性猛交?XX?乱动漫小说| 69久久久久精品9999不卡片| 搞逼网址| 闺蜜舌头进去我下面好爽| 宝贝| 国精产品一区一区三区四| 国产+亚洲+欧美+综合在线| 久久er视频| 波多野结衣作品在线观看| 欧美三部顶级推理片在线观看| vidaa性欧美| 亚洲精品久久久久久下一站蒲公英| 好大好硬好深好爽想3p视频| 欧美激情伦理|