2016-12-07 58 views
0

我使用SoundCloud API传输歌曲,但遇到以下(我认为是)错误。SoundCloud API流式传输错误

当点击一个按钮时,曲目会被播放和播放,当我点击另一个时,播放会暂停。这基本上是用这段代码:

var playerVar; 
SC.initialize({ client_id: 'sorryCantPublishThat' }); 

$('#play').click(function(){ 
    SC.stream('/tracks/' + trackID).then(function(player){ 
    player.play(); 
    playerVar = player; 
    }); 
}); 

$('#pause').click(function(){ 
    playerVar.pause(); 
}); 

这工作正常,只要我不会再次点击播放后暂停流。因为然后它播放,但我无法停止流。我必须再次点击播放按钮,然后我才能停下来。

任何想法,如果我做错了什么或如果它是一个错误?除此之外,我如何才能正确地工作?

回答

0

我想我找到了如何让这个工作。 我现在会在页面加载完成后立即对所有曲目进行流式处理,而不仅仅是在单击播放按钮时。每个轨道都有它自己的变量:

SC.initialize({ client_id: '' }); 

SC.stream('/tracks/' + track.id).then(function(player){ 

    player.on('time', function() { 
     // update 
    }); 

    soundCloudPlayers[ track.id ] = player; 

}); 

,然后点击播放按钮时:

$('.play').click(function() { 

    var player = soundCloudPlayers[ $(this).attr('data-trackid') ]; 
    player.play(); 

    player.on('time', function() { 
     // update the current playback position indicator 
    }); 
}); 

所以这也是该事件侦听器放置的地方。