国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

html5 video 移動端詳解

2020-03-24 15:45:29
字體:
來源:轉載
供稿:網友
本文主要介紹了淺談html5 video 移動端填坑記,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能幫助到大家。

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

 video id= video  >

自動播放

設置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 屬性,否則,在移動端就會卡死不能播放視頻,個人認為是因為視頻被接管的原因導致。

 p >

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

ios黑屏問題

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

解決方法:

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

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; //返回當前資源的URLMediaObj.src = value; //返回或設置當前資源的URLMediaObj.canPlayType(type); //是否能播放某種格式的資源MediaObj.networkState; //0.此元素未初始化 1.正常但沒有使用網絡 2.正在下載數據 3.沒有找到資源MediaObj.load(); //重新加載src指定的資源MediaObj.buffered; //返回已緩沖區域,TimeRangesMediaObj.preload; //none:不預載 metadata:預載資源信息 auto://準備狀態MediaObj.readyState;//1:HAVE_NOTHING  //2:HAVE_METADATA  //3.HAVE_CURRENT_DATA  //4.HAVE_FUTURE_DATA  //5.HAVE_ENOUGH_DATAMediaObj.seeking; //是否正在seeking//回放狀態MediaObj.currentTime = value; //當前播放的位置,賦值可改變位置MediaObj.startTime; //一般為0,如果為流媒體或者不從0開始的資源,則不為0MediaObj.duration; //當前資源長度 流返回無限MediaObj.paused; //是否暫停MediaObj.defaultPlaybackRate = value;//默認的回放速度,可以設置MediaObj.playbackRate = value;//當前播放速度,設置后馬上改變MediaObj.played; //返回已經播放的區域,TimeRanges,關于此對象見下文MediaObj.seekable; //返回可以seek的區域 TimeRangesMediaObj.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 實現瀏覽器兼容的方法

移動端video視頻播放的問題案例總結

簡述 video 標簽的參數和屬性

以上就是html5 video 移動端詳解的詳細內容,其它編程語言

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东城区| 资阳市| 盐亭县| 阿尔山市| 河西区| 湟源县| 铜川市| 海阳市| 苍南县| 凤庆县| 富顺县| 曲周县| 屏山县| 大连市| 肥城市| 体育| 古交市| 安徽省| 桓台县| 依安县| 阳新县| 莱芜市| 托克逊县| 五寨县| 元江| 达州市| 天津市| 宁海县| 当涂县| 江达县| 临漳县| 东丰县| 沅陵县| 凤凰县| 普陀区| 和龙市| 康马县| 金塔县| 南澳县| 理塘县| 淮安市|