首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在HTMLAudioElement使用JS时停止它?

如何在HTMLAudioElement使用JS时停止它?
EN

Stack Overflow用户
提问于 2016-04-23 11:27:44
回答 2查看 1.9K关注 0票数 0

一个应用程序正在使用嵌套在某些HTMLAudioElement中的JavaScript播放音频剪辑,如下所示,

代码语言:javascript
复制
var s = new Audio('/sounds/s.wav');
s.play();

HTMLAudioElement文档:https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement

问题是,每次用户采取行动时,剪辑都需要播放。但是,如果前面的音频剪辑仍然在播放,那么下一个剪辑将不会播放(被延迟或完全跳过)。

那么,有没有办法切断一个音频剪辑,中途,当它在播放?

有点像s.stop()

更新

也许这还是个重复的问题..。

对于不同的操作,有多个音频剪辑,所以如果从引用的重复问题中实现sound.pause();sound.currentTime = 0;,它可能看起来像这样,可以在每个剪辑之前运行。

代码语言:javascript
复制
function stopSounds() {
    sound1.pause();
    sound1.currentTime = 0;

    sound2.pause();
    sound2.currentTime = 0;

    sound3.pause();
    sound3.currentTime = 0;

    sound4.pause();
    sound4.currentTime = 0;

    sound5.pause();
    sound5.currentTime = 0;

    sound6.pause();
    sound6.currentTime = 0;

    sound7.pause();
    sound7.currentTime = 0;
}
EN

回答 2

Stack Overflow用户

发布于 2016-04-23 11:34:33

您正在搜索的函数是s.pause();,如果您想重新启动该文件的开头,则必须设置s.currentTime = 0; (我知道它会立即开始播放,至少在Chrome中是这样)。

票数 0
EN

Stack Overflow用户

发布于 2016-04-23 11:46:02

只需调用此函数:

代码语言:javascript
复制
  var s = new Audio('/sounds/s.wav');
  s.play(); 
  s.pause();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36810215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档