Javascript 双Wavesurfer播放器的播放/暂停操作有问题

Javascript 双Wavesurfer播放器的播放/暂停操作有问题,javascript,jquery,frontend,web-frontend,wavesurfer.js,Javascript,Jquery,Frontend,Web Frontend,Wavesurfer.js,$(文档).ready(函数(){ 代码工作正常,一切正常,但我希望播放第二个声音,如果已经播放,则暂停第一个声音。我只希望其中一个声音工作,而不是一起播放。 [1] :所以我理解你的问题,你有两个单独的Wavesurfer播放器(每个播放器有两个单独的播放/暂停按钮),你不希望他们两个同时播放(一次播放每个播放器)。那很好,当WaveorM2播放时,你只需暂停WaveorM1,反之亦然。 你有两种方法来实现这一点 解决方案1 让我们替换代码上的单击事件 在您的第一个播放器上: $("

$(文档).ready(函数(){

代码工作正常,一切正常,但我希望播放第二个声音,如果已经播放,则暂停第一个声音。我只希望其中一个声音工作,而不是一起播放。
[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();
});