问题播放和暂停播放列表中的曲目(Soundcloud JavaScript API)

时间:2016-10-16 20:10:13

标签: javascript soundcloud

我正在使用Soundcloud的JavaScript API创建一个应用程序,该API将URL带到Soundcloud播放列表并显示音频播放器旁边的曲目列表。我可以使用API​​获取所有内容并使用SC.stream()播放单个曲目,但我遇到了一个奇怪的问题:

第一次播放曲目时,“播放”和“暂停”按钮按预期工作。如果您选择了一首新曲目,请返回并再次选择第一首曲目,我希望它从头开始。相反,它会记住它停止的位置,暂停按钮不起作用。如果您在播放音频时点击“播放”按钮,则暂停按钮会再次起作用。

当选择同一首曲目两次时,如何让SC.stream()提出新的请求(从曲目的开头开始并重置player对象)?

以下是this working example on JSFiddle的精简版。

playTrack = function(id) {
  SC.stream("/tracks/" + id).then(function(player) {
    player.play();

    $(".player__play").click(function(e) {
      e.preventDefault();
      player.play();
    });

    $(".player__pause").click(function(e) {
      e.preventDefault();
      player.pause();
    });
  });
};

// Play a track from the playlist
$(document).on("click", ".playlist a", function(e) {
  e.preventDefault();
  var trackId = $(e.currentTarget).attr("data-track-id");
  playTrack(trackId);
});

0 个答案:

没有答案