在这个问题的帮助下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