1

Spotify API 文档建议播放器类公开一个 addEventListener 方法:

models.player.addEventListener('change', function() { … });

尝试引用此方法时,我变得不确定:

var sp = getSpotifyApi(1);
var models = sp.require("$api/models");
console.log(models.player);
console.log(models.player.addEventListener);

第二条日志消息返回“未定义”

有什么想法我在这里做错了吗?

谢谢,兰迪

4

2 回答 2

1

我有点 Javascript 菜鸟,但我已经使用推荐的 require 格式成功连接到 addEventListener。我认为您不应该再调用 getSpotifyApi 了。

require(['$api/models'], function(models) {
 ...
});

https://developer.spotify.com/technologies/apps/upgrade-guide/1.0.0

于 2013-10-15T14:56:51.173 回答
0

您正在编写的代码使用 API 0.x,这就是models.player.addEventListener未定义的原因。您需要使用 API 的更新版本 1.x。

如果你想检测Player你需要做的变化:

require(['$api/models'], function(models) {
  models.player.addEventListener('change', function(p) {
    // p.data.track contains the current track
  });
});

在 Apps Tutorial 的“当前曲目”示例中有一个示例。

于 2013-11-26T10:26:31.980 回答