出于某种原因,我无法解决这个问题:
如果我点击播放,
如果我点击停止播放
然后停止
如果我再次单击播放声音恢复,则单击停止,它不会停止
如果我再次重复,它会第二次停止..
它基本上只会暂停每一次点击......必须是一个简单的修复,但我无法理解它
这里是我的代码
SC.initialize({
client_id: "xxxxxxxxxxxxxxxxxxxxxxxxx"
});
var Sstream;
var isOn = false;
function playTrack(myTrackId){
console.log('isOn',isOn);
if (isOn !== false) {
Sstream.pause();
isOn = false;
} else {
isOn = true;
SC.stream("/tracks/" + myTrackId).then(function(sound){
Sstream = sound;
Sstream.play();
Sstream.on('state-change', function (state) {
if (state == 'playing') {
isOn = true;
} else if (state == 'pause'){
isOn = false;
Sstream.sound.pause();
} else if (state == 'ended'){
isOn = false;
Sstream.sound.pause();
}
});
});
}
}
$("#playTrack").click(function(){
playTrack('123');
});
答案 0 :(得分:0)
你确定这是对的吗?
Sstream.on('state-change', function (state) {
if (state == 'playing') {
isOn = true;
} else if (state == 'pause'){
isOn = false;
Sstream.sound.pause();
} else if (state == 'ended'){
isOn = false;
Sstream.sound.pause();
}
});
在我看来,在每次状态更改时,您实际上都会调用暂停状态,这会导致其他状态发生变化,等等......
可能你只需要暂停一下吗?以便您对2 Sstream.sound.pause();