1. 程式人生 > >HTML5 audio 如何實現播放多個MP3音頻

HTML5 audio 如何實現播放多個MP3音頻

html tel 不能 則無 技術分享 class listener 內容 2-0

<audio>標簽是HTML5中的新標簽,定義聲音用於嵌入音頻內容,比如音樂或其他音頻流。用的比較多音頻格式是.mp3。

<audio>標簽常用屬性如下表

屬性 描述
autoplay autoplay 添加該屬性後,音頻會自動播放
controls controls 設置後,顯示控件,如播放按鈕、音量
loop loop 添加該屬性後,當音頻播放結束後會重新開始播放
preload preload 音頻顯示頁面加載,準備播放,如已添加autoplay,則忽略該屬性
src url 播放音頻的URL(地址)。

HTML5音頻簡單的使用實例如下

<audio src="http://www.lmlblog.com/blog/13/images/xia.mp3" controls autoplay></audio>

但有時候你的瀏覽器不支持.MP3格式播放,這時就需要設置兼容多個瀏覽器的格式了,如下

<audio controls>

<source src="music.mp3">

<source src="music.m4a">

<source src="music.wav">

<source src="music.ogg">

</audio>

很多小白把上面理解為音頻播放列表,按順序播放(即播放完music.mp3後,自動播放下一個music.m4a)。html5設成多個src,主要是有的瀏覽器無法播放個別音頻格式,它從上到下讀取播放,如果第一個mp3格式能播放,後面的就沒用了。

以前給網頁、網站添加音樂播放列表時,都是用網易音樂、蝦米音樂中的“生成外鏈播放器”來給網頁添加音樂的,但過一段時間,你會發現你添加的音樂列表某首音樂不能播放了,主要原因是音樂版權問題。這時只能通過添加其他播放器或自己用代碼來實現了。推薦閱讀:網頁如何嵌入騰訊/優酷視頻播放器

技術分享圖片

技術分享圖片

技術分享圖片

目前,html5<audio>標簽只能同時播放一個音頻文件,如何要添加多個MP3音頻文件,然後按順序一個接著一個連續播放,需要用JS代碼來實現。

通過js來實現<audio>標簽連續播放多個MP3音頻,代碼如下:

<div id="audioBox"> 
<script type="text/javascript"> 
window.onload = function(){ 
var arr = ["http://www.lmlblog.com/blog/bozhao/images/believe.mp3","http://www.lmlblog.com/blog/bozhao/images/shui.mp3"];               //把需要播放的歌曲從後往前排,這裏已添加兩首音樂,可繼續添加多個音樂 
var myAudio = new Audio(); 
myAudio.preload = true; 
myAudio.controls = true; 
myAudio.src = arr.pop();         //每次讀數組最後一個元素 
myAudio.addEventListener(‘ended‘, playEndedHandler, false); 
myAudio.play(); 
document.getElementById("audioBox").appendChild(myAudio); 
myAudio.loop = false;//禁止循環,否則無法觸發ended事件 
function playEndedHandler(){ 
myAudio.src = arr.pop(); 
myAudio.play(); 
console.log(arr.length); 
!arr.length && myAudio.removeEventListener(‘ended‘,playEndedHandler,false);//只有一個元素時解除綁定 
} 
} 
</script> 
</div>

將上面代碼的音頻地址改成你的MP3地址即可,可在後面添加多個mp3音頻地址。

技術分享圖片

以上代碼效果顯示地址:http://www.lmlblog.com/blog/bozhao/ 網站添加播放器的方法除了上面說到的網易雲生成外鏈播放器、蝦米播放器(制作地址http://www.xiami.com/widget/imulti)添加,還有很多,歡迎交流。

文章來源於HTML5 audio 如何實現播放多個MP3音頻

HTML5 audio 如何實現播放多個MP3音頻