javascript - HTML5 <音频>:单击下一首歌曲时停止加载/缓冲

标签 javascript jquery html audio

我有一个小型网站,其中约有40个mp3播客,您可以使用html5标签收听。

每个播客长约一小时,大小为100mb。

这是我的问题:

假设我在PODCAST 1上按PLAY,它将开始播放,并将其余播客预加载到100%。

现在假设我要播放PODCAST 2,我在第一个播放器上按一下暂停,然后在第二个播放器上按播放。

如何停止第一个播客的预加载/缓冲,以便可以将所有带宽用于第二个播客的预加载/缓冲?

我看着jplayer认为它只是这样做,但是通过查看代码,当在同一页面上使用多个播放器时,它所做的全部都是“暂停”其他播放器,而不是“停止”预加载/缓冲。

知道我该怎么做吗?

非常感谢 :)

编辑:我已经使用preload =“none”

最佳答案

我遇到了完全相同的问题,并通过在暂停之前将players src属性设置为一个非常短且安静的mp3文件来解决了该问题。例如..

var silent_file = 'http://example.com/silent.mp3';
var blogstream = 'http://example.com/blogstream';
var audioelement = document.getElementById( 'audioplayer' );

function stop(){
    audioelement.src = silent_file;
    audioelement.pause();
}
function play(){
    audioelement.src = blogstream ;
    audioelement.play(); // not necessary if audio element has autoplay
}

关于javascript - HTML5 <音频>:单击下一首歌曲时停止加载/缓冲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20427779/

相关文章:

css - 具有自动高度的 Div 不起作用

javascript - 通过鼠标单击显示多个框

javascript - 等待 HTML5 规范的稳定状态

javascript - jqGrid addRowData 减慢了进程

jquery - 将鼠标滚轮绑定(bind)到 Jquery UI slider

javascript - 这个未指定的错误从何而来?

jquery 包含 |仅针对第一个祖先

javascript - 有没有一种本地方法可以将字符串从任何语言环境转换为数字?

javascript - 未捕获的 TypeError : document. getElementById(...).submit 不是 HTMLDocument 中的函数。<anonymous>

javascript - 在 Javascript 中制作并行的复选框列表