最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

HTML5視頻播放標(biāo)簽video和音頻播放標(biāo)簽audio標(biāo)簽的正確用法

 更新時(shí)間:2018年12月30日 15:43:45   投稿:WDC  
HTML5里引入的新標(biāo)記 <audio> 和 <video> 實(shí)現(xiàn)了HTML對(duì)視頻播放和音頻播放的原生支持,有了這種原生的HTML5視頻播放器/音頻播放器,我們不再需要flash技術(shù),而直接能將視頻/音頻嵌入到了網(wǎng)頁(yè)中

如何嵌入視頻和音頻

在網(wǎng)頁(yè)里嵌入HTML5音頻播放器和視頻播放器的方法非常簡(jiǎn)單:

<video src="http://www.fzitv.net/~j/theora_testsuite/320x240.ogg" controls autoplay loop>
 Your browser does not support the <code>video</code> element.
</video>

上面這個(gè)例子顯示了如何播放一個(gè)視頻文件,并露出視頻播放控制按鈕。

下面這個(gè)例子是在HTML網(wǎng)頁(yè)里嵌入音頻 audio 的方法:

<audio controls autoplay loop src="/test/audio.ogg">
<p>Your browser does not support the <code>audio</code> element.</p>
</audio>

這里的 src 屬性里可以填入一個(gè)音頻/視頻的URL,也可以是一個(gè)本地的文件。

<audio src="audio.ogg" controls autoplay loop>
<p>Your browser does not support the <code>audio</code> element </p>
</audio>

下面是<audio> 和 <video> 兩個(gè)標(biāo)記上控制屬性的含義:

controls : 顯示標(biāo)準(zhǔn)的 HTML5 視頻/音頻播放器控制條、控制按鈕。
autoplay : 讓文件自動(dòng)播放。
loop : 讓文件循環(huán)播放。

<audio src="audio.mp3" preload="auto" controls></audio>

這里的 preload 屬性是用來(lái)緩存大體積文件的。它有三個(gè)可選值:

"none" 不緩存
"auto" 緩存
"metadata" 只緩存文件元信息
為了能夠兼容各種瀏覽器對(duì)不同媒體類型的支持,我們可以用多個(gè) <source> 元素來(lái)提供多個(gè)不同的媒體類型。例如:

<video controls>
 <source src="foo.ogg" type="video/ogg">
 <source src="foo.mp4" type="video/mp4">
 Your browser does not support the <code>video</code> element.
</video>

支持Ogg格式視頻流的瀏覽器可以播放 Ogg 文件。如果不支持,可以播放 MPEG-4 文件。查看各種瀏覽器對(duì)各種媒體類型的支持情況,請(qǐng)查看這里。

我們還可以指定播放使用的解碼器(codecs); 這樣就可以更精確的讓瀏覽器如何播放提供的視頻:

<video controls>
 <source src="foo.ogg" type="video/ogg; codecs=dirac, speex">
 Your browser does not support the <code>video</code> element.
</video>

上面,我們指定了這個(gè)視頻需要使用 Dirac 和 Speex 解碼器。如果瀏覽器支持 Ogg 格式,但沒有指定的解碼器,那么,視頻將不會(huì)被加載。

如果沒有提供 type 屬性,則瀏覽器會(huì)向服務(wù)器詢問(wèn)媒體類型,看看是否支持;如果不支持,瀏覽器將會(huì)去檢查下一個(gè) source 屬性。

用JavaScript控制視頻/音頻播放

一旦視頻文件正確的嵌入到了HTML網(wǎng)頁(yè)里,我們就可以使用JavaScript里控制它的部分,獲取它的播放信息。比如,用JavaScript啟動(dòng)視頻播放:

var v = document.getElementsByTagName("video")[0];
v.play();

用JavaScript可控制HTML5視頻播放器實(shí)現(xiàn)播放、暫停、快進(jìn),快退、音量等。

<audio id="demo" src="audio.mp3"></audio>
<div>
 <button onclick="document.getElementById('demo').play()">播放</button>
 <button onclick="document.getElementById('demo').pause()">暫停</button>
 <button onclick="document.getElementById('demo').volume+=0.1">降低音量</button>
 <button onclick="document.getElementById('demo').volume-=0.1">提高音量</button>
</div> 

停止下載視頻文件

雖然我們可以使用pause()方法里讓視頻文件停止播放,但瀏覽器并未停止下載媒體文件,除非它達(dá)到了一定的緩存量。

下面是讓瀏覽器如何停止下載視頻文件的方法:

var mediaElement = document.getElementById("myMediaElementID");
mediaElement.pause();
mediaElement.src='';
//或
mediaElement.removeAttribute("src"); 

通過(guò)刪除 src 屬性(或者設(shè)置為空值),這樣就能停止文件的網(wǎng)絡(luò)下載。

設(shè)定播放的時(shí)間點(diǎn)定位

我們可以指定視頻從某時(shí)某分某秒開始播放,這是通過(guò)設(shè)置 currentTime 屬性來(lái)實(shí)現(xiàn)。

我們可以通過(guò) seekable 屬性來(lái)獲得視頻有效的播放時(shí)間范圍。它會(huì)返回一個(gè) TimeRanges 對(duì)象,能夠告訴你有效的開始時(shí)間和結(jié)束時(shí)間。

var mediaElement = document.getElementById('mediaElementID');
mediaElement.seekable.start(0); // 返回開始時(shí)間 (秒)
mediaElement.seekable.end(0);  // 返回結(jié)束時(shí)間 (秒)
mediaElement.currentTime = 122; // 定位到第 122 秒播放
mediaElement.played.end(0);   // 返回已經(jīng)播放的時(shí)間長(zhǎng)度(秒)

設(shè)定播放范圍

當(dāng)在網(wǎng)頁(yè)里嵌入視頻/音頻文件時(shí), <audio> 或 <video> 元素允許我們提供一些額外的信息來(lái)指定播放哪一時(shí)間段。實(shí)現(xiàn)的方法是在媒體文件后面跟隨(“#”)格式的信息。

它的具體語(yǔ)法是這樣的:

#t=[開始時(shí)間][,結(jié)束時(shí)間]
時(shí)間的表示方法可以使用秒數(shù),也可以提供一個(gè) ”時(shí):分:秒“ 格式的時(shí)間(例如 2:05:01 )。/p>

舉例:

//www.fzitv.net/video.ogg#t=10,20
指定視頻從10秒開始播放,到20秒處結(jié)束。
//www.fzitv.net/video.ogg#t=,10.5
指定視頻從頭開始播放到 10.5 秒處。
//www.fzitv.net/video.ogg#t=,02:00:00
指定視頻播放2小時(shí)。
//www.fzitv.net/video.ogg#t=60
指定視頻從第60秒開始播放,播放到結(jié)束。

設(shè)置視頻封面(poster參數(shù))

當(dāng)視頻不是自動(dòng)播放時(shí),在有些瀏覽器里,視頻在未播放前的缺省界面是空白,這樣很沒有意義,我們可以給視頻設(shè)定一個(gè)封面,用視頻里的某個(gè)比較具有代表意義的畫面截圖作為視頻的封面,設(shè)定視頻封面的參數(shù)是 poster:

<video poster='cover.jpg' src="http://www.fzitv.net/~j/theora_testsuite/320x240.ogg" controls autoplay loop>
 Your browser does not support the <code>video</code> element.
</video>

當(dāng)視頻加載遇到錯(cuò)誤時(shí)的補(bǔ)救方法
有時(shí)候視頻資源會(huì)失效,或加載失敗,或者瀏覽器不能解碼當(dāng)前視頻格式,當(dāng)遇到這種情況,我們應(yīng)該給與補(bǔ)救措施,替換當(dāng)前視頻資源地址,或用其它措施補(bǔ)救,比如將video對(duì)象替換成圖片。我們可以使用JavaScript對(duì)視頻加載中的“error”事件進(jìn)行監(jiān)聽,比如對(duì)于下面的視頻資源:

<video controls>
 <source src="dynamicsearch.mp4" type="video/mp4"></source>
 <a href="dynamicsearch.mp4" rel="external nofollow" >
  <img data-original="dynamicsearch.jpg" alt="Dynamic app search in Firefox OS">
 </a>
 <p>Click image to play a video demo of dynamic app search</p>
</video>

我們使用下面的js代碼進(jìn)行補(bǔ)救:

var v = document.querySelector('video'),
  sources = v.querySelectorAll('source'),
  lastsource = sources[sources.length-1];
lastsource.addEventListener('error', function(ev) {
 var d = document.createElement('div');
 d.innerHTML = v.innerHTML;
 v.parentNode.replaceChild(d, v);
}, false);

更多關(guān)于HTML5視頻播放器video標(biāo)簽和音頻播放器audio標(biāo)簽的正確用法請(qǐng)點(diǎn)擊查看下面的相關(guān)文章

相關(guān)文章

  • 詳解CSS不定寬溢出文本適配滾動(dòng)

    詳解CSS不定寬溢出文本適配滾動(dòng)

    在日常布局當(dāng)中,會(huì)遇到文本內(nèi)容超過(guò)容器的情況。非常常見的一種解決方案是超出省略。但是有的時(shí)候,由于場(chǎng)景的限制,可能會(huì)出現(xiàn)在一些無(wú)法使用超出打點(diǎn)省略的方法的場(chǎng)景,譬如在導(dǎo)航欄中:在容器定寬但是文本又溢出且不能換行的情況下,我們就需要尋求另外的解決方案。
    2021-05-05
  • CSS如何使DIV層居中

    CSS如何使DIV層居中

    CSS如何使DIV層居中...
    2006-09-09
  • HTML <!DOCTYPE> 標(biāo)簽

    HTML <!DOCTYPE> 標(biāo)簽

    在默認(rèn)情況下,F(xiàn)F和IE的解釋標(biāo)準(zhǔn)是不一樣的,也就是說(shuō),如果一個(gè)網(wǎng)頁(yè)沒有聲明DOCTYPE,它就會(huì)以默認(rèn)的DOCTYPE解釋下面的HTML。在同 一種標(biāo)準(zhǔn)下,不同瀏覽器的解釋模型都有所差異,
    2014-05-05
  • 關(guān)于HTML的語(yǔ)義化標(biāo)簽和無(wú)語(yǔ)義化標(biāo)簽

    關(guān)于HTML的語(yǔ)義化標(biāo)簽和無(wú)語(yǔ)義化標(biāo)簽

    這篇文章主要介紹了關(guān)于HTML的語(yǔ)義化標(biāo)簽和無(wú)語(yǔ)義化標(biāo)簽,語(yǔ)義化的標(biāo)簽,旨在讓標(biāo)簽有自己的含義,讓瀏覽器認(rèn)識(shí)這個(gè)標(biāo)簽所傳達(dá)的信息,是干什么的有什么作用,需要的朋友可以參考下
    2023-04-04
  • 一段巧妙的css debug代碼

    一段巧妙的css debug代碼

    一段巧妙的css debug代碼...
    2006-09-09
  • css實(shí)現(xiàn)的對(duì)聯(lián)廣告代碼

    css實(shí)現(xiàn)的對(duì)聯(lián)廣告代碼

    本文章提供的對(duì)聯(lián)廣告是完全使用css實(shí)現(xiàn)的,并且兼容所有瀏覽器,包括各種ie,ff,gg瀏覽器哦,代碼簡(jiǎn)潔好用
    2013-11-11
  • 表格隔行換色 css expression

    表格隔行換色 css expression

    表格隔行換色 css expression...
    2006-07-07
  • 淺談?dòng)蓀osition屬性引申的css進(jìn)階討論

    淺談?dòng)蓀osition屬性引申的css進(jìn)階討論

    說(shuō)到position,稍微對(duì)css了解的能馬上說(shuō)出四個(gè)屬性值:static 、relative、absolute、fixed。更深一步去討論,牽扯出諸如上文提到的normal flow、containing block、bfc、margin collapse,base line,有多少人能很好的回答完整呢,所以在此做一個(gè)自己的總結(jié)歸納。
    2021-05-05
  • 對(duì)display:inline;與float:left;的認(rèn)識(shí)

    對(duì)display:inline;與float:left;的認(rèn)識(shí)

    對(duì)display:inline;與float:left;的認(rèn)識(shí)...
    2006-09-09
  • CSS編輯工具Topstyle輕松打造網(wǎng)頁(yè)風(fēng)格

    CSS編輯工具Topstyle輕松打造網(wǎng)頁(yè)風(fēng)格

    CSS編輯工具Topstyle輕松打造網(wǎng)頁(yè)風(fēng)格...
    2006-09-09

最新評(píng)論

秦皇岛市| 九龙城区| 奉化市| 禄劝| 慈溪市| 鲜城| 鹤峰县| 那坡县| 富宁县| 博野县| 绥阳县| 乌拉特前旗| 汤阴县| 石柱| 阜康市| 扬中市| 昆明市| 巴林右旗| 肇庆市| 贵德县| 铜梁县| 城口县| 贵州省| 仁布县| 苏尼特右旗| 出国| 银川市| 怀化市| 麻城市| 韶山市| 乌兰察布市| 碌曲县| 璧山县| 遂川县| 集安市| 正蓝旗| 边坝县| 那曲县| 双桥区| 那坡县| 广南县|