Wavesurfer pause()问题

时间:2016-08-10 09:08:41

标签: javascript php

我是一名业余编码员,我试图让某些事情发挥作用,但我有点陷入困境。 希望有人能帮助我。

对于初学者,我使用wavesurfer播放可以正常工作的音频。 我发起了多个waveurfer实例,除了一个hickup之外它们都很好。 当我在实例1正在播放时从实例2播放音频时,它的音频重叠,我不知道如何暂停实例1。

我尝试了几件事,但结果却没有任何结果或破坏了浪潮。

这就是我目前正在启动waveurfer的方式:

    //getplayer
function getplayer(location)
{
    var wavesurfer = WaveSurfer.create({
        container: '#waveform',
        waveColor: 'white',
        progressColor: 'cyan',
    });

    if (wavesurfer.isPlaying())
    {

        wavesurfer.pause();
        wavesurfer.load(location);
        wavesurfer.on('ready', function () {

            wavesurfer.play();

        });

    }

    else {

        wavesurfer.load(location);
        wavesurfer.on('ready', function () {

            wavesurfer.play();

        });
    }
}

要将位置传递给函数,我使用ajax:

            <script>
            $(function() {
                  $('.playsong-".$i."').click(function(event) {
                      event.preventDefault();
                      $.ajax({
                          type: 'GET',
                          url: 'includes/ajax.php',
                          dataType :'html',
                          data : {songname : '" . $psong['sname'] . "', songpath : '" . $psong['sl'] . "'},
                          success :  function(data){

                              $('#waveform').html(data);

                          }
                      })
                 });
             }); 
        </script>   

然后传递给ajax.php文件并启动javascript:

<script>getplayer("<?= $location ?>")</script>

我相信每次我打电话给waveurfer时,我都会启动播放器的新实例,但我可能错了......

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

在我顿悟之后,似乎我正在努力,完全错误。

我确实调用了整个玩家的几个实例,而不是仅仅将信息传递给玩家。

我所做的是完全删除ajax调用。

然后我在歌曲按钮上添加了一个onclick处理程序,如下所示:

   public function profilesongview($currentuser) {

    $this->getmusic($currentuser);
    $i = 1;
    foreach ($this->musicarray as $psong) {
        echo "<div class='col-md-12'>
            <a href='#' class='playsong-" . $i . "' onclick=getplayer('".$psong['sl']."')><div class='profile_song'>
            " . $psong['sname'] . "
            </div></a></div>";

        $i++;
    }

}

然后我将玩家的实例添加到网站的静态部分等等,全部完成了!