我使用播放列表将网址提供给SC.stream。但是当我开始下一个曲目时,我不知道如何删除上一个声音。我的函数看起来像这样
function stream (url){
SC.stream(url, function(sound){
sound.play()
)}
}
我知道我错过了删除旧声音的行,但我不知道如何删除它以及将行放置在哪里。谢谢
抱歉,
这已经晚了,但我最近发现的一个简单解决方案是在下一个和上一个按钮上使用 .destruct()。
function stream (url){
SC.stream(url, function(sound){
sound.play();
$('#nextbutton, #prevbutton').click(function(){
sound.destruct();
});
)};
}
stream (url);
请注意,我使用了jQuery,但我认为如果您正确引用按钮,.destruct()方法应该仍然可以在纯js中工作。
您不需要删除当前曲目,只需停止播放(如果是),然后加载新曲目即可。
SC.initialize({
client_id: 'MY_CLIENT_ID'
});
var playing = false;
play = function(trackId){
if(playing){
// Stop the current sound
SC.sound.stop();
}
// Play the new one
SC.stream("/tracks/" + trackId, function(sound){
// Store the sound object inside the SC object which belongs
// to the global scope so that it can be accessed out of the
// scope of this callback
SC.sound = sound;
SC.sound.play();
playing = true;
});
}