一个应用程序正在播放一个音频片段,其中HTMLAudioElement嵌套在一些JavaScript中,如下所示
var s = new Audio('/sounds/s.wav');
s.play();
HTMLAudioElement docs:https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement
问题是每次用户采取行动时都需要播放剪辑。但如果前一个音频片段仍在播放,则下一个片段将无法播放(延迟或完全跳过)。
那么有没有办法在播放音频剪辑的过程中切断它?
像s.stop()
?
更新
也许这仍然是一个重复的问题...
有多个音频剪辑用于不同的操作,因此如果从引用的重复问题中实现sound.pause();
和sound.currentTime = 0;
,它可能看起来像这样,可以在每个剪辑之前运行。
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;
}
答案 0 :(得分:0)
您要搜索的功能是s.pause();
如果您想要再次启动文件的开头,那么您必须设置s.currentTime = 0;
(因为我知道它会立即开始播放,至少在Chrome中播放)。
答案 1 :(得分:0)
只需调用此函数:
var s = new Audio('/sounds/s.wav');
s.play();
s.pause();