使用Soundcloud JavaScript SDK我已经成功地抓住了我的曲目并播放它们。我的目标是通过点击一个按钮(如播放/暂停切换)允许播放和暂停。但是,我的问题是当我点击.SCbtn元素时,歌曲会播放,并且不会停止。我的条件似乎是正确的,因为我可以看到真和假进入控制台。不太清楚为什么SC.sound.pause();没有工作。
var is_playing = false;
var trackCont = function(trackNum){
SC.stream("/tracks/" + trackNum).then(function(sound){
SC.sound = sound;
if (is_playing === false){
SC.sound.play();
is_playing = true;
console.log(is_playing);
}else if(is_playing === true){
SC.sound.pause();
is_playing = false;
console.log(is_playing);
}
});
}
$('body').on("click", ".SCbtn", function(){
var theTrack = $(this).attr('id');
trackCont(theTrack);
});
更新
答案 0 :(得分:0)
我认为你过度复杂化了。这是一个简单的例子:
HTML:
<script src="https://connect.soundcloud.com/sdk/sdk-3.0.0.js"></script>
<button id="play">Play</button>
JavaScript的:
SC.initialize({
client_id: 'XXXX'
});
var myPlayer;
var isPaused = false;
SC.stream('tracks/43377447').then(function(player){
player.play()
myPlayer = player;
});
document.querySelector('button').addEventListener('click', function() {
if (isPaused) {
myPlayer.play()
isPaused = false;
} else {
myPlayer.pause()
isPaused = true;
}
});
答案 1 :(得分:0)
您应该使用Soundcloud提供的toggle()方法来实现最简单的方法。见这里:https://developers.soundcloud.com/docs/api/html5-widget
像下面这样的东西可以解决这个问题:
fork()