Javascript 双Wavesurfer播放器的播放/暂停操作有问题
$(文档).ready(函数(){ 代码工作正常,一切正常,但我希望播放第二个声音,如果已经播放,则暂停第一个声音。我只希望其中一个声音工作,而不是一起播放。Javascript 双Wavesurfer播放器的播放/暂停操作有问题,javascript,jquery,frontend,web-frontend,wavesurfer.js,Javascript,Jquery,Frontend,Web Frontend,Wavesurfer.js,$(文档).ready(函数(){ 代码工作正常,一切正常,但我希望播放第二个声音,如果已经播放,则暂停第一个声音。我只希望其中一个声音工作,而不是一起播放。 [1] :所以我理解你的问题,你有两个单独的Wavesurfer播放器(每个播放器有两个单独的播放/暂停按钮),你不希望他们两个同时播放(一次播放每个播放器)。那很好,当WaveorM2播放时,你只需暂停WaveorM1,反之亦然。 你有两种方法来实现这一点 解决方案1 让我们替换代码上的单击事件 在您的第一个播放器上: $("
[1] :所以我理解你的问题,你有两个单独的Wavesurfer播放器(每个播放器有两个单独的播放/暂停按钮),你不希望他们两个同时播放(一次播放每个播放器)。那很好,当WaveorM2播放时,你只需暂停WaveorM1,反之亦然。 你有两种方法来实现这一点 解决方案1 让我们替换代码上的
单击事件
在您的第一个播放器上:
$(".controls-waveform1 .button-play-audio").on('click', function() {
if (wavesurfer1.isPlaying()) {
wavesurfer1.pause();
playSong1.style.display = "block";
pauseSong1.style.display = "none";
} else {
wavesurfer2.pause(); // ------ ADD THIS ------
wavesurfer1.play();
playSong1.style.display = "none";
pauseSong1.style.display = "block";
}
});
在第二个播放器上:
$(".controls-waveform2 .button-play-audio").on('click', function() {
if (wavesurfer2.isPlaying()) {
wavesurfer2.pause();
playSong2.style.display = "block";
pauseSong2.style.display = "none";
} else {
wavesurfer1.pause(); // ------ ADD THIS ------
wavesurfer2.play();
playSong2.style.display = "none";
pauseSong2.style.display = "block";
}
});
解决方案2
在一个播放机上收听播放
事件,在另一个播放机上收听暂停
事件:
wavesurfer1.on('play', function () {
wavesurfer2.pause();
});
wavesurfer1.on('play', function () {
wavesurfer1.pause();
});
wavesurfer1.on('play', function () {
wavesurfer2.pause();
});
wavesurfer1.on('play', function () {
wavesurfer1.pause();
});