在這個問題的幫助下Use of reference to calling object (this) using HTML5 audio and jQuery 編輯它我得到了我想要的播放列表,它在Crome和Safari上完美運行,但在其他瀏覽器中根本無法播放,因爲並非所有瀏覽器都支持mp3文件。 (經過測試的IE和FireFox;音頻沒有播放,用我的iPod測試過Safari並沒有問題)但是奇怪的是,IE在支持mp3時不會播放音頻。HTML5 crossbrowser播放列表
這是我想出了上面的編輯鏈接的問題。我整合了jQuery爲按鈕提供了不同的風格,使得它看起來更像Youtube Play/Pause按鈕。這裏 更好的例子:Playlist
我試圖用jQuery來改變這樣的
this.next = function(){
count++;
if(count == 2){count = 0;}
$('#uhh').attr('src', 'http://daokun.webs.com/play'+count+'.mp3');
$('#uhh2').attr('src', 'http://daokun.webs.com/play'+count+'.ogg');
};
在音頻中的src鏈接改變<audio>
標記成這樣:
<audio id="aud" autoplay autobuffer>
<source id="uhh2" src="http://daokun.webs.com/play0.ogg" type="audio/ogg" />
<source id="uhh" src="http://daokun.webs.com/play0.mp3" type="audio/mpeg" />
</audio>
要使它crossbrowser,但歌曲改變後,它不會更改<source>
標籤的src。
我也試圖編輯這樣的一個功能:
this.next = function(){
count++;
if(count == 2){count = 0;}
uhh = 'http://daokun.webs.com/play'+count+'.mp3';
uhh2 = 'http://daokun.webs.com/play'+count+'.ogg';
};
並添加variabels:
var uhh = $('#uhh').attr('src'),
uhh2 = $('#uhh2').attr('src');
試過這種藏漢,仍然一無所獲。
var uhh = document.getElementById('aud').firstChild,
uhh2 = document.getElementById('aud').lastChild;
沒有工作,所以我剪輯成這樣:
var uhh = document.getElementById('uhh'),
uhh2 = document.getElementById('uhh2');
下一個函數爲:
this.next = function(){
count++;
if(count == 2){count = 0;}
uhh.src = 'http://daokun.webs.com/play'+count+'.mp3';
uhh2.src = 'http://daokun.webs.com/play'+count+'.mp3';
};
分配的ID給兩個<source>
S(侏儒和uhh2),但沒有。
我注意到通過檢查Chrome的源代碼,兩個<source>
上的src鏈接改變了,但問題是mp3文件沒有通過檢查資源標籤「加載」到頁面中。在使用<audio>
標籤時,只有新的mp3文件被「加載」到頁面中並播放。
那麼我做錯了什麼?或者發生了什麼,它不起作用?
非常感謝:我是從得到這個例子。我會嘗試的。希望它會起作用。順便說一句,我可以脫掉控制權嗎?因爲我僅通過按鈕標籤控制播放/暫停。 – Marian 2012-03-15 20:26:22
噢,再次感謝您的回答,我在此之前詢問了這個問題,兩個論壇中的問題和問題大體相同。似乎沒有人真的感到困擾。 – Marian 2012-03-15 20:26:57
是的,你可以刪除控件。 – Ohgodwhy 2012-03-15 20:29:44