Soundcloud Javascript SDK声音没有停顿

时间:2016-01-16 22:52:05

标签: javascript soundcloud

使用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);
});

更新

My Fiddle

2 个答案:

答案 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;
    }
});

Working JSFiddle.

答案 1 :(得分:0)

您应该使用Soundcloud提供的toggle()方法来实现最简单的方法。见这里:https://developers.soundcloud.com/docs/api/html5-widget

像下面这样的东西可以解决这个问题:

fork()