使用SoundCloud API暂停声音

时间:2015-01-28 00:33:19

标签: javascript audio streaming soundcloud

我对JS很新,我在播放暂停或停止使用SoundCloud JavaScript SDK的音频时遇到问题。我正在使用MEAN堆栈。

准备好'功能我初始化SC播放器:

SC.initialize({
    client_id: "my_client_ID",
    redirect_uri: "http://example.com/callback.html",
});

...

$('#trackList table tbody').on('click', 'td a.linkplaytrack', playTrack);
$('#trackList table tbody').on('click', 'td a.linkpausetrack', pauseTrack);

playTrack功能正常,音频开始播放:

function playTrack(event){
    event.preventDefault();

    SC.stream("/tracks/293", function(sound){
        sound.play();
    });
};

但由于某种原因,pauseTrack功能不起作用:

function pauseTrack(event){
    event.preventDefault();

    SC.stream("/tracks/293", function(sound){
        sound.pause();
    });
};

任何帮助,见解或建议都将不胜感激!

1 个答案:

答案 0 :(得分:0)

每次调用SC.stream时,都会创建一个新的声音对象。 pause()正在工作,只是与播放的声音不同。您可以存储稍后要使用的流:

var stream;

function playTrack(event) {
  e.preventDefault();
  if(!stream) {
    SC.stream("/tracks/293", function(sound){
        stream = sound;
        stream.play();
    });
  }
  else {
   stream.play();
  }
}


function pauseTrack(event) {
  if(stream) {
    stream.pause();
  }
}