使用Javascript暂停音频时会发出“Pop noise”声音

使用Javascript暂停音频时会发出“Pop noise”声音,javascript,jquery,html,audio,Javascript,Jquery,Html,Audio,我的html中有一个音频标签,里面有.wav。使用Javascript,我选择audio标记并播放wav.,我使用键盘键触发它。例如,我试图实现的是,在按下每个“A”键时,从一开始就重放.wav/播放声音 音频播放正常,暂停也正常。但是,当我直接暂停播放.wav时,会听到砰的一声 var audio = document.getElementById(sound); if (!isPlaying(audio)) { audio.play(); // works } else {

我的html中有一个音频标签,里面有.wav。使用Javascript,我选择audio标记并播放wav.,我使用键盘键触发它。例如,我试图实现的是,在按下每个“A”键时,从一开始就重放.wav/播放声音

音频播放正常,暂停也正常。但是,当我直接暂停播放.wav时,会听到砰的一声

var audio = document.getElementById(sound);

if (!isPlaying(audio)) {
   audio.play();     // works
} else {
   audio.pause();    // pops on this line; I checked with commenting below lines.
   audio.currentTime = 0;
   audio.play();
}
我发现,据我所知,这是因为我立即将音量设置为0;但我无法为我的案子找到答案。我认为使用带有setInterval的音量控制器不是一个好方法

我还发现audio.muted=true,并尝试在暂停音量之前使用它,并在播放音频之前使用audio.muted=false,但这也会产生弹出噪音

更新:

我想我需要使用淡出来解决这个问题。有没有办法立即淡出音频

更新:

我想我需要使用淡出来解决这个问题。有没有 如何立即淡出音频

可以使用.animate将体积属性从当前值设置为0

var audio=$audio; $button.clickfunction{ 如果音频[0]。音量>0{ 动画{volume:0}; //打电话给`,暂停` } };
淡出音频我认为使用带有setInterval的音量控制器不是一个好方法为什么不呢?正如我所说,我不确定。。我需要播放3秒的音频以及0.2秒的快照;不仅仅是样品拍摄。。这就是为什么我认为设置一个间隔并相应地触发淡出不会让我有一个3秒和0.2秒音频的通用代码。如果这是一个好方法,你能澄清一下吗?那很酷,这个动画需要控件=真吗?@zer00ne这个动画需要控件=真吗?我没有事先设置音量。返回的默认音量是多少?@senty默认音量是多少请尝试控制台。logaudio[0]。音量;前if条件