首頁  >  文章  >  web前端  >  HTML5實戰與剖析之媒體元素(4、偵測編解碼器的支援與Audio建構子)

HTML5實戰與剖析之媒體元素(4、偵測編解碼器的支援與Audio建構子)

黄舟
黄舟原創
2017-02-13 13:45:411480瀏覽



  HTML5媒體元素檢測編解碼器的支援情況

  雖然媒體元素可以實現音訊和視訊功能,但是並不是所有瀏覽器都支援video標籤和audio標籤的所有解碼器,這意味著著開發人員必須提供許多歌媒體來源。在JavaScript API中能夠偵測瀏覽器是否支援某種格式和編解碼器。這兩個媒體元素都有一個canPlayType()方法,該方法接收一種格式/編解碼器字串,返回”probably”、”maybe”或”(空字串)。空字串是假值,而”probably”和“maybe”都是真值,所以if條件測試中可以轉成true,所以在if中可以作為條件進行判斷。偵測格式/編解碼器的方法如下

  JavaScript程式碼

if(audio.canPlayType("audio/mpeg")){
	//进一步编写
}

  如果給canPlayType()或傳入了一種字串類型,則傳回值很可能給一個字串類型。這是因為媒體檔案本身只不過是音訊或視訊的一個容器,真正決定檔案能否播放的還是編碼格式。在同時傳入MIME類型和編碼器的情況下,可能性就會增加,傳回的字串會變成”probably」。小例子如下

  HTML程式碼

<audio src="meng.ogg" id="myAudio"></audio>

  Java以下就為大家介紹已經支援的音訊格式和編解碼器。   AAC格式:字串audio/mp4,codecs=”mp4a.40.2”;支援的瀏覽器:IE9+、Safari 4+和iOS版Safari

  MP3格式:字串audio/mpegIE; 、Chrome

  Vorbis格式:字符串audio/ogg,codecs=”vorbis”;支援的瀏覽器:Firefox 3.5+、Chrome、Opera 10.5+

  WAV格式:字串字符串/wa,支援的瀏覽器:Firefox 3.5+、Opera 10.5+、Chrome

  下面是用canPlayType()來偵測視訊格式編解碼器。

  H.264格式:字串video/mp4,codecs=”avc1.42E01E,mp4a.40.2”;支援的瀏覽器:IE9+、Safari 4+、iOS版Safari、Android版Webkit

〜〜〜:Thevideo〜版/ogg,codecs=”theora”;支援的瀏覽器:Firefox 3.5+、Opera 10.5+、Chrome

  WebM:video/webm,codecs=”vp8,vorbis”;支援的瀏覽器:Firefox 4+、Opercs=”vp8,vorbis”;支援的瀏覽器:Firefox 4+、Oper 10. +、Chrome

  HTML5媒體元素之Audio構造函數

  在原生的JavaScript中,有一個構造函數Audio,可以在任何時候播放音訊。從都是DOM元素的角度出發,Audio物件和Image物件很類似,但是Audio物件不用像Image物件一樣必須插入到文件中。只要建立一個新實例,傳入音訊來源檔案即可。小範例如下

  

JavaScript程式碼

var audio = document.getElementById("myAudio");

//很可能"maybe"
if(audio.canPlayType("audio/mpeg")){
	//进一步编写
}

//可能是"probably"
if(audio.canPlayType("audio/ogg; codecs=\"vorbis\"")){
	//进一步编写
}
  建立新的Audio實例即可開始下載指定的檔案。下載完成後,呼叫play()方法就可以播放音訊。在iOS中,呼叫play()時會跳出對話框,得到使用者的允許後才能播放。如果想要在一段音頻播放後再播放另一端音頻,則必須在onfinish事件處理程序中呼叫play()方法。 以上就是HTML5實戰與剖析之媒體元素(4、檢測編解碼器的支援與Audio構造函數)的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn