一个应用程序正在使用嵌套在某些HTMLAudioElement中的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;,它可能看起来像这样,可以在每个剪辑之前运行。
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;
}发布于 2016-04-23 11:34:33
您正在搜索的函数是s.pause();,如果您想重新启动该文件的开头,则必须设置s.currentTime = 0; (我知道它会立即开始播放,至少在Chrome中是这样)。
发布于 2016-04-23 11:46:02
只需调用此函数:
var s = new Audio('/sounds/s.wav');
s.play();
s.pause();https://stackoverflow.com/questions/36810215
复制相似问题