您好,登錄后才能下訂單哦!
本篇內容介紹了“html5中視頻媒體標簽video如何用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
video是HTML5的一個視頻媒體標簽,其作用是在網頁中嵌入指定的視頻,video標簽的代碼結構及參數如下。
HTML代碼結構:
<video controls autoplay loop preload="auto" poster="img/popup-img.png" webkit-playsinline="true" playsinline="true" x5-video-player-type="h6" x5-video-player-fullscreen="true" x-webkit-airplay="allow" x5-video-orientation="portraint" style="object-fit:fill"> <source src="video.mp4" type="video/mp4"> <source src="video.ogg" type="video/ogg; codecs=dirac, speex"> <p>你的瀏覽器不支持 <code>video</code> 標簽.</p> </video>
參數說明:
controls - 顯示標準的 HTML5 視頻/音頻播放器控制條、控制按鈕。
autoplay - 讓文件自動播放。
loop - 讓文件循環播放。
preload - 屬性是用來緩存大體積文件的。它有三個可選值:"none" 不緩存、"auto" 緩存、"metadata" 只緩存文件元信息
poster - 視頻封面
webkit-playsinlin="true" - 這個屬性在 ios 10中設置有用,其他的目前還不起作用,讓視頻在小窗內播放,也就是不是全屏播放
playsinline="true" - IOS微信瀏覽器支持小窗內播放
x5-video-player-type="h6" - 啟用H5播放器,是wechat安卓版特性
x5-video-player-fullscreen="true" - 全屏設置,設置為 true 是防止橫屏
x5-video-orientation="portraint" - 播放器屏幕的方向,landscape橫屏,portraint豎屏,默認值為豎屏。
source - 標簽是為了能夠兼容各種瀏覽器對不同媒體類型的支持,我們可以用多個<source></source>元素來提供多個不同的媒體類型。支持mp4格式視頻流的瀏覽器可以播放mp4文件,如果不支持,可以播放Ogg文件。
codecs=dirac, speex - 是用來指定播放使用的解碼器(codecs); 這樣就可以更精確的讓瀏覽器如何播放提供的視頻。
特別說明:
1、 webkit-playsinline 和 playsinline 參數使視頻播放時局域播放,不脫離文檔流,但是前提是需要嵌入網頁的APP(比如WeChat微信)中UIwebview的 allowsInlineMediaPlayback = YES 、 webview.allowsInlineMediaPlayback = YES 時才能生效。也就是說如果APP不設置,標簽中加入了這兩個屬性也是無效的,這也就是為什么安卓手機WeChat播放視頻時總是全屏,因為APP不支持 playsinline ,而ISO的WeChat支持。
2、如果做全屏直播或者全屏H5體驗的用戶,ISO需要刪除 webkit-playsinline 標簽,因為并不支持 false 的屬性值,而安卓默認全屏,所以不需要設置。另外,全屏是有播放控件的,無論你是否設置 control 。
3、 x-webkit-airplay="allow" 暫時無法確切的知道其作用,猜測這個屬性應該是使此視頻支持ios的AirPlay功能,使用AirPlay可以直接從使用iOS的設備上的不同位置播放視頻、音樂還有照片文件,也就是說通過AirPlay功能可以實現影音文件的無線播放,當然前提是播放的終端設備也要支持相應的功能。
4、 x5-video-player-type 啟用同層H5播放器,就是在視頻全屏的時候,div可以呈現在視頻層上,也是WeChat安卓版特有的屬性。
同層播放別名也叫做沉浸式播放,播放的時候看似全屏,但是已經除去了 control 和微信的導航欄,只留下"X"和"<"兩鍵。目前的同層播放器只在Android(包括微信)上生效,暫時不支持iOS。至于為什么同層播放只對安卓開放,是因為安卓不能像ISO一樣局域播放,默認的全屏會使得一些界面操作被阻攔,如果是全屏H5還好,但是做直播的話,諸如彈幕那樣的功能就無法實現了,所以這時候同層播放的概念就解決了這個問題。不過在測試的過程中發現,不同版本的ISO和安卓效果略有不同。
5、 x5-video-orientation 聲明播放器支持的方向,可選值 landscape 橫屏或 portraint 豎屏,默認值 portraint 。無論是直播還是全屏H5一般都是豎屏播放,但是這個屬性需要 x5-video-player-type 開啟H5模式
6、 x5­-video­-player­-fullscreen 全屏設置。它有 true 和 false 兩個屬性值,true支持全屏播放,false不支持全屏播放。其實ISO 微信瀏覽器是Chrome的內核,相關的屬性都支持,也是為什么X5同層播放不支持的原因。安卓微信瀏覽器是X5內核,一些屬性標簽比如 playsinline 就不支持,所以始終全屏。
7、在Android的微信里面,就算加上了上面的屬性,還會出現上下有黑邊,不能全屏的問題。解決辦法:給video加上 object-fit: fill; 的style屬性。如果還是有黑邊有可能是視頻尺寸不合適。
“html5中視頻媒體標簽video如何用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。