HTML5音频标签即使被删除仍拒绝停止播放?

吉米

所以我有这个音频标签:

<audio src=".....mp3" autoplay id="aud"></audio>

20秒后,我触发了这段代码:

var obj=$('#aud')
obj[0].volume=0;
obj[0].pause();
obj.prop('volume',0);
obj.trigger('pause');
obj.attr('src','');
obj.remove();
console.log('REMOVED!!');

但是毕竟,音频仍在播放吗?

音频标签已被成功删除obj.remove(),但音频仍在继续。

console.log()正确的记录。我没有错误。但是,尽管使用了几种方法来静音,暂停和删除音频标签,但音频仍会继续。

谁能解释为什么?

我需要用盐和火焰清除该音频。任何帮助将不胜感激,这让我发疯了……

杰丹

因此,我在写这个作为答案时摆弄了这个,并得出以下结论:

手动创建audio带有autoplay属性标记会使标记甚至在被添加到DOM树2次之前就播放(在较旧的jquery实现中)。即使在将该元素添加到DOM树之后,通常也无法停止两个音频流-当播放第二个流时,其中一个流与该元素断开连接的可能性很大。没那么深究。我在这里转载了这个问题:

http://jsfiddle.net/2gaBs/3/

当您单击Create w/o autoplay按钮时,可以适当地暂停它,但是当您单击Create autoplay时,它会立即启动(甚至在添加到DOM树之前)2次!您可能没有注意到第二次播放(我也没有),因为当mp3在同一台机器上时,两个音频流几乎完全同步。按下Try stop将停止音频流之一(您需要等待5秒钟,注意setTimeout)。

另请注意,如果您切换到1.8.3或更高版本的jQuery版本,此问题将不再发生,因此似乎我们俩都当天都在使用旧的jQuery库。^^

因此,有2种解决方案:将jquery版本更新到1.8.3或更高版本,或者创建没有autoplay属性的元素,然后再启动它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML5音频标签Wav文件未加载/播放

来自分类Dev

音频标签HTML5

来自分类Dev

音频标签HTML5

来自分类Dev

在Android中播放音频之前,甚至会触发HTML5音频标签的onplaying

来自分类Dev

HTML5-当另一个音频标签开始播放时,音频停止

来自分类Dev

播放/暂停按钮HTML5音频

来自分类Dev

播放实时音频流-html5

来自分类Dev

播放html5中的音频范围

来自分类Dev

HTML5音频开始播放延迟

来自分类Dev

播放/暂停按钮HTML5音频

来自分类Dev

检查是否正在播放没有HTML5标签的音频

来自分类Dev

我的HTML5音频标签无法在Google Chrome浏览器中播放。

来自分类Dev

html5音频标签结束播放时如何刷新页面

来自分类Dev

Firefox停止输出HTML5音频

来自分类Dev

下一个音轨播放时如何停止此特定的音频播放器(HTML5 + JavaScript)

来自分类Dev

在播放器不可见的情况下自动播放带有HTML5 embed标签的音频

来自分类Dev

检测html5视频标签中的视频/音频是否已停止

来自分类Dev

HTML5音频,测试是否使用javascript播放

来自分类Dev

非法调用jQuery HTML5音频播放

来自分类Dev

如何禁用html5音频元素播放/暂停按钮

来自分类Dev

使用html5播放音频流

来自分类Dev

使用HTML5捕获当前正在播放的音频?

来自分类Dev

HTML5音频Blob无法在Android上播放

来自分类Dev

jQuery同时播放HTML5音频源

来自分类Dev

html5音频播放了很多次

来自分类Dev

如何使html5音频播放器响应?

来自分类Dev

在iOS中连续HTML5音频/视频播放?

来自分类Dev

样式化HTML5音频播放器

来自分类Dev

HTML5音频Blob无法在Android上播放