1

これは、JavaScript SDK を使用したカスタム Soundcloud プレーヤーの私の解釈です。最後のトラックが終了した後にプレイリストをリセットしたいのですが、これは部分的に達成されています。最初のトラックは適切に設定されていますが、次/前のボタンのカウンター変数が更新されません。

または、カウンター変数を使用するよりもプレイリストをループするより良い方法があるでしょうか?

var autoplay = false;

$(document).ready(function() {

  SC.get( '/resolve', {url: 'https://soundcloud.com/rockcurrent/sets/rc-playlist-new-rock-releases'}, function(pl) {

    var i = 0;
    var track_url = pl.tracks[i].uri;

    var stream_sound = function(i) {
      track_url = pl.tracks[i].uri;

      SC.stream(track_url, function(sound) {

        var new_play = function() {
          sound.play({
            onplay: function() {
              title(i); 
            },    
            whileplaying: function() {
              loader(this.position, this.duration);             
            },
            onfinish: function() {
              if (i < pl.tracks.length -1) {
                i++;
                autoplay = true;             
              }
              else {
                i = 0;
              }
              stream_sound(i); 
            }
          });
        }

        new_play();
        sound.pause();

        if (autoplay) {
          sound.resume();
          is_playing = true;
        }

        autoplay = false;

        $('#play').on('click', function() {
          togglePause();     
        });

      });
}

stream_sound(i);

$('#next').on('click', function() {
  soundManager.stopAll();
  if (i < pl.tracks.length -1) {
    i++;
  }
  autoplay = true;
  stream_sound(i);
});

$('#prev').on('click', function() {
  soundManager.stopAll();
  if (i > 0) {
    i--;
  }
  autoplay = true;
  stream_sound(i);
});

}); 
});
4

0 に答える 0