溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

html5中視頻媒體標(biāo)簽video如何用

發(fā)布時(shí)間:2022-04-27 16:09:03 來(lái)源:億速云 閱讀:177 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“html5中視頻媒體標(biāo)簽video如何用”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

video是HTML5的一個(gè)視頻媒體標(biāo)簽,其作用是在網(wǎng)頁(yè)中嵌入指定的視頻,video標(biāo)簽的代碼結(jié)構(gòu)及參數(shù)如下。

HTML代碼結(jié)構(gòu):

<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> 標(biāo)簽.</p>
</video>

參數(shù)說(shuō)明:

  • controls - 顯示標(biāo)準(zhǔn)的 HTML5 視頻/音頻播放器控制條、控制按鈕。

  • autoplay - 讓文件自動(dòng)播放。

  • loop - 讓文件循環(huán)播放。

  • preload - 屬性是用來(lái)緩存大體積文件的。它有三個(gè)可選值:"none" 不緩存、"auto" 緩存、"metadata" 只緩存文件元信息

  • poster - 視頻封面

  • webkit-playsinlin="true" - 這個(gè)屬性在 ios 10中設(shè)置有用,其他的目前還不起作用,讓視頻在小窗內(nèi)播放,也就是不是全屏播放

  • playsinline="true" - IOS微信瀏覽器支持小窗內(nèi)播放

  • x5-video-player-type="h6" - 啟用H5播放器,是wechat安卓版特性

  • x5-video-player-fullscreen="true" - 全屏設(shè)置,設(shè)置為 true 是防止橫屏

  • x5-video-orientation="portraint" - 播放器屏幕的方向,landscape橫屏,portraint豎屏,默認(rèn)值為豎屏。

  • source - 標(biāo)簽是為了能夠兼容各種瀏覽器對(duì)不同媒體類型的支持,我們可以用多個(gè)<source></source>元素來(lái)提供多個(gè)不同的媒體類型。支持mp4格式視頻流的瀏覽器可以播放mp4文件,如果不支持,可以播放Ogg文件。

  • codecs=dirac, speex - 是用來(lái)指定播放使用的解碼器(codecs); 這樣就可以更精確的讓瀏覽器如何播放提供的視頻。

特別說(shuō)明:

1、 webkit-playsinline 和 playsinline 參數(shù)使視頻播放時(shí)局域播放,不脫離文檔流,但是前提是需要嵌入網(wǎng)頁(yè)的APP(比如WeChat微信)中UIwebview的 allowsInlineMediaPlayback = YES 、 webview.allowsInlineMediaPlayback = YES 時(shí)才能生效。也就是說(shuō)如果APP不設(shè)置,標(biāo)簽中加入了這兩個(gè)屬性也是無(wú)效的,這也就是為什么安卓手機(jī)WeChat播放視頻時(shí)總是全屏,因?yàn)锳PP不支持 playsinline ,而ISO的WeChat支持。

2、如果做全屏直播或者全屏H5體驗(yàn)的用戶,ISO需要?jiǎng)h除 webkit-playsinline 標(biāo)簽,因?yàn)椴⒉恢С?nbsp;false 的屬性值,而安卓默認(rèn)全屏,所以不需要設(shè)置。另外,全屏是有播放控件的,無(wú)論你是否設(shè)置 control 。

3、 x-webkit-airplay="allow" 暫時(shí)無(wú)法確切的知道其作用,猜測(cè)這個(gè)屬性應(yīng)該是使此視頻支持ios的AirPlay功能,使用AirPlay可以直接從使用iOS的設(shè)備上的不同位置播放視頻、音樂(lè)還有照片文件,也就是說(shuō)通過(guò)AirPlay功能可以實(shí)現(xiàn)影音文件的無(wú)線播放,當(dāng)然前提是播放的終端設(shè)備也要支持相應(yīng)的功能。

4、 x5-video-player-type 啟用同層H5播放器,就是在視頻全屏的時(shí)候,div可以呈現(xiàn)在視頻層上,也是WeChat安卓版特有的屬性。

同層播放別名也叫做沉浸式播放,播放的時(shí)候看似全屏,但是已經(jīng)除去了 control 和微信的導(dǎo)航欄,只留下"X"和"<"兩鍵。目前的同層播放器只在Android(包括微信)上生效,暫時(shí)不支持iOS。至于為什么同層播放只對(duì)安卓開(kāi)放,是因?yàn)榘沧坎荒芟馡SO一樣局域播放,默認(rèn)的全屏?xí)沟靡恍┙缑娌僮鞅蛔钄r,如果是全屏H5還好,但是做直播的話,諸如彈幕那樣的功能就無(wú)法實(shí)現(xiàn)了,所以這時(shí)候同層播放的概念就解決了這個(gè)問(wèn)題。不過(guò)在測(cè)試的過(guò)程中發(fā)現(xiàn),不同版本的ISO和安卓效果略有不同。

5、 x5-video-orientation 聲明播放器支持的方向,可選值 landscape 橫屏或 portraint 豎屏,默認(rèn)值 portraint 。無(wú)論是直播還是全屏H5一般都是豎屏播放,但是這個(gè)屬性需要 x5-video-player-type 開(kāi)啟H5模式

6、 x5&shy;-video&shy;-player&shy;-fullscreen 全屏設(shè)置。它有 true 和 false 兩個(gè)屬性值,true支持全屏播放,false不支持全屏播放。其實(shí)ISO 微信瀏覽器是Chrome的內(nèi)核,相關(guān)的屬性都支持,也是為什么X5同層播放不支持的原因。安卓微信瀏覽器是X5內(nèi)核,一些屬性標(biāo)簽比如 playsinline 就不支持,所以始終全屏。

7、在Android的微信里面,就算加上了上面的屬性,還會(huì)出現(xiàn)上下有黑邊,不能全屏的問(wèn)題。解決辦法:給video加上 object-fit: fill; 的style屬性。如果還是有黑邊有可能是視頻尺寸不合適。

“html5中視頻媒體標(biāo)簽video如何用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI