雖然媒體元素可以實現音訊和視訊功能,但是並不是所有瀏覽器都支援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. +、ChromeHTML5媒體元素之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\"")){
//进一步编写
}