使用 soundcloud spi 为不同的声音创建不同的流

Creating different streams for different sounds using soundcloud spi

我的页面上有三个五个播放按钮,每个都有相同的 class 但不同的 ID

<img class="song" id="0001" src="images/play-button.png">
<img class="song" id="0002" src="images/play-button.png">
<img class="song" id="0003" src="images/play-button.png">
<img class="song" id="0004" src="images/play-button.png">
<img class="song" id="0005" src="images/play-button.png">

我想为来自 soundcloud 的每个曲目(每个 img id 是曲目 id)打开一个新流...到目前为止,我所能做的就是播放一首歌曲,并在按下任何按钮时暂停以下代码:

var i = $('.song').attr('id');
var is_playing = false;
var player;

SC.stream('/tracks/'+i).then(function(stream){
        player = stream;
    });

$('.song').click(function(){
    if(is_playing == false){
        player.play();
        is_playing = true;
    } else {
        player.pause();
        is_playing = false;
    }
});

是否也可以在新流开始时停止之前的流?提前致谢...

保护 currentPlaying 中的 #id(例如),现在您可以检查是否必须打开新流或播放旧流

$('.song').each(function() {
  var i = $(this).attr('id');
  $(this).click(function(){
    if(is_playing == false){
        if(currentPlaying != i) {
                if(player) player.pause();
                SC.stream('/tracks/'+i).then(function(stream){
                    player = stream;
                });
        }
        player.play();
        is_playing = true;
    } else {
        player.pause();
        is_playing = false;
    }
  });
});