我正在使用SoundCloud API播放歌曲,但正在体验以下(我认为是A)错误。
单击按钮时,轨道被流并播放,当我单击另一个按钮时,播放会暂停。这基本上是通过此代码完成的:
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();
});
这可以正常工作,只要我在暂停流之后不再单击播放即可。因为那时它播放,但我无法停止流。我必须再次单击"播放"按钮,然后可以停止它。
有什么想法,如果我做错了什么或是错误?除此之外,我该如何正确工作?
我想我发现了如何使这个工作。现在,我一旦加载页面,就不仅在单击"播放"按钮时流式传输所有轨道。每个曲目都有自己的变量:
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
});
});
所以这也是放置事件听众的地方。