使用 SoundCloud 暂停声音 API

Pausing sounds with SoundCloud API

我是 JS 的新手,我无法使用 SoundCloud JavaScript SDK 暂停或停止当前正在播放的音频。我正在使用 MEAN 堆栈。

在'ready'函数中我初始化了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();
    });
};

如有任何帮助、见解或建议,我们将不胜感激!

每次调用 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();
  }
}