html5 mp3会自动停止,HTML5音频停止功能

此方法效果:

audio.pause();

audio.currentTime = 0;

但是,如果你不想在每次停止播放音频时的这两行代码来写,你可以做两件事情之一。第二个我认为是更合适的,我不确定为什么“JavaScript标准的众神”没有制定这个标准。

第一种方法:创建一个函数并通过音频

function stopAudio(audio) {

audio.pause();

audio.currentTime = 0;

}

//then using it:

stopAudio(audio);

第二种方法(看好):扩展音频类:

Audio.prototype.stop = function() {

this.pause();

this.currentTime = 0;

};

我有这个JavaScript文件我在任何将处理音频的脚本之前调用了包含在我的html中的“AudioPlus.js”。

然后,你可以调用停止功能的音频对象:

audio.stop();

FINALLY CHROME发出带有“canplaythrough”:

我还没有在所有的浏览器测试了这个,但是这是一个问题,我在Chrome中遇到过。如果您尝试在连接了“canplaythrough”事件侦听器的音频上设置currentTime,那么您将再次触发该事件,这可能会导致不良结果。

因此,类似于所有附加事件侦听器的情况下,您确实不会再次触发它的解决方案是在第一次调用后删除事件侦听器。事情是这样的:

//note using jquery to attach the event. You can use plain javascript as well of course.

$(audio).on("canplaythrough", function() {

$(this).off("canplaythrough");

// rest of the code ...

});

奖金:

注意,您可以添加更多的自定义方法的音频类(或与此有关的任何本地JavaScript类)。

例如,如果你想要一个“重启”方法重新启动音频它可能看起来像:

Audio.prototype.restart= function() {

this.pause();

this.currentTime = 0;

this.play();

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值