【问题标题】:How to stop and play multiple sounds in HTML5 without overlapping them?如何在 HTML5 中停止和播放多个声音而不重叠?
【发布时间】:2013-11-19 12:15:43
【问题描述】:

我正在使用 javascript Audio 类在 HTML5 应用程序的后台播放不同的音频文件。
每个音频文件都绑定到按钮的单击事件。

现在我想要实现的是,当单击按钮时,当前正在进行的音频应该立即停止,并且绑定到该特定按钮的音频应该开始。

我尝试使用 pause()mute() 方法,但在这两种情况下,音频重叠的时间都很短(

这个问题有什么解决办法吗?以下是我目前正在使用的代码:

    if (sound === null) {  
        sound = new Audio("sounds/" + audioId + ".mp3");  
        sound.play();        
    }  
    else {
          sound.pause();  
          sound.src = "sounds/" + audioId + ".mp3";  
          sound.play();  
    }

【问题讨论】:

  • 函数中调用的 pause() 函数在哪里?
  • 糟糕!我之前忘记补充了。它在第 6 行,我尝试在同一行以及两条不同的行上调用 mute(),然后在更改“src”后调用 play(),但问题仍然存在。

标签: javascript html html5-audio


【解决方案1】:

你可以使用played()这个函数设置或返回音频/视频是否暂停。

首先,您暂停音频,然后在播放声音后使用paused()检查音频是否暂停,而不是在暂停后播放音频。

【讨论】:

  • 我没有在 html 中使用任何
  • @SibtainNorain: 哦.. 我之前没有收到你的问题,抱歉答案不可靠,这个答案只适用于<audio> 标签。
  • 如果有问题可以再次评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-20
  • 1970-01-01
  • 2015-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多