【问题标题】:Spotify api 1.x Disable seek/repeat/shuffle/rewind/ffSpotify api 1.x 禁用搜索/重复/随机播放/倒带/ff
【发布时间】:2014-01-01 18:07:31
【问题描述】:

在 api 0.x 中可以这样做

var sp = getSpotifyApi();
sp.trackPlayer.setContextCanSkipPrev(playlist.uri, false);
sp.trackPlayer.setContextCanSkipNext(playlist.uri, false);
sp.trackPlayer.setContextCanShuffle = false;
sp.trackPlayer.setContextCanRepeat = false;

但是我不知道如何在 api 1.x 中做到这一点

某些 Spotify 应用(例如 soundrop)禁用搜索/重复/随机播放/倒带/ff 按钮 所以这应该是可能的

【问题讨论】:

  • 我同意,我看不出这在哪里是可能的。要么是疏忽,要么他们决定不再允许这样做。我在博客上看到旧 API 将在 2014 年 3 月结束时停止工作 (devnews.spotify.com/2013/12/17/…)
  • 好吧,这绝对是可能的,因为新的 Soundrop 应用程序可以做到这一点! Playlist object 中实际上有一个名为 enforceRules 的静态方法,这很可能是我正在寻找的方法。然而,文档慷慨地声明“TODO:需要文档”。

标签: spotify


【解决方案1】:

您需要创建一个包含单个曲目的临时播放列表并使用enforceRules 函数:

require(['$api/models'], function(models) {
  var tempName = 'temp' + (new Date()).getTime();
  models.Playlist.createTemporary(tempName).done(function(playlist) {
    playlist.enforceRules('stream');
    playlist.load('tracks').done(function(loadedPlaylist) {
      var track = models.Track.fromURI('spotify:track:7B1Dl3tXqySkB8OPEwVvSu');
      loadedPlaylist.tracks.add(track);
      models.player.playContext(loadedPlaylist, 0);
    });
  });
});

这样做,它会自动禁用跳过按钮。

目前,API 的文档似乎缺少该函数的描述。

【讨论】:

  • 谢谢,这符合我目前的需求。但是,如果我想在禁用搜索量表的同时保持后退/ff 按钮处于活动状态。
猜你喜欢
  • 2012-12-02
  • 2021-09-01
  • 1970-01-01
  • 2015-07-04
  • 2023-04-07
  • 1970-01-01
  • 2022-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多