2016-08-10 11 views
0

私はアマチュアのコーダーで、何か作業をしようとしていますが、ちょっと立ち往生しています。 誰も私を助けることを願っています。Wavesurfer pause()issue

私はwavesurferを使用して、うまく動作するオーディオを再生しています。 私はwavesurferのインスタンスを複数起動していますが、1回のヒックアップ以外はすべて正常に再生されます。 インスタンス1が再生中にインスタンス2からオーディオを再生すると、オーディオが重なって、インスタンス1をどのように一時停止できるのか分かりません。

私はいくつか試しましたが、何もしなかったか、波乗りを壊しました。

これは私が現在wavesurferを開始しています方法です。その後、アヤックスに渡され

  <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> 

//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を使用しています。 phpファイルを開き、javascriptを開始します:

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

私はwavesurferを呼び出すたびに、私はinitですプレイヤーの新しいインスタンスを試していますが、私は間違っている可能性があります...

あなたの助けてくれてありがとう!

答えて

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++; 
    } 

} 

その後、私はすべてが行われ、サイトら出来上がりの静的部分にプレイヤーのインスタンスを追加しました!