Spotify App API 错误报告:播放器音量无法设置为值

Posted

技术标签:

【中文标题】Spotify App API 错误报告:播放器音量无法设置为值【英文标题】:Spotify App API Bug Report : Player volume cannot be set to a value 【发布时间】:2012-07-22 15:07:26 【问题描述】:

几周前我开始使用 Spotify App API。

我想改变音量。这应该通过使用 Player 类的 volume 属性来完成,如documention 中所述:

volume 获取或设置当前音量级别为 0.0 和 1.0 之间的浮点数。

不幸的是,这个volume属性只能用来获取当前的音量,不能用来设置音量。

所以我开始在网上搜索一些信息。我发现了两个关于堆栈溢出的相关帖子1 和2。

那么,我应该问与你可能问的其他两个人相同的问题。

好吧,我对 Spotify API 进行了更深入的研究,发现了一些有用的信息。我希望这篇文章对 Spotify 开发者有所帮助。

此外,*** 似乎是为 Spotify 发布错误报告的方式。

让我们开始我的 Spotify App API 调查。所有这些都是通过使用 Inspector 完成的。

volume 属性在 Player 类中定义。 Player 类在模型模块中定义。所以让我们看看模型,为此我们打开文件 models.js(检查器中的“脚本”选项卡,在下拉菜单中选择“models.js”)。我们首先找到这个(第 743 行):

* @property number      volume               Get or set the current volume level as a float between 0.0 and 1.0.

那么让我们看看这个 volume 属性(models.js 中的第 889-892 行):

volume: 
    get: sp.trackPlayer.getVolume,
    set: sp.trackPlayer.setVolume
,

好的。所以现在我们可以使用 trackPlayer 中的 setVolume 方法来设置音量。 让我们更深入地看看 trackPlayer 里面有什么。为此,请在控制台中输入:

_getSpotifyModule("trackPlayer")

它返回一个包含很多函数的对象。这是一个小快照:

_getSpotifyModule("trackPlayer")
    Object
    ...
    getShuffle: function getShuffle()  [native code] 
    getVolume: function getVolume()  [native code] 
    playTrackFromContext: function playTrackFromContext()  [native code] 
    ...
    setShuffle: function setShuffle()  [native code] 
    skipToNextTrack: function skipToNextTrack()  [native code] 
    ...

你是否可以看到函数 getVolume 被定义了。但是函数 setVolume 不是。

所以这是我的结论:目前还不能使用 Player.volume 来设置音量,因为 setVolume 函数没有在 trackPlayer 中定义。

希望我的工作能帮助开发者解决这个问题。


在 [1] 中,IKendac 建议:

只有在您的应用启动正在发生的播放时,您才能更改音量

但事实证明这是错误的,我做了一个小应用程序来测试它:https://gist.github.com/3152875。

你也可以尝试在控制台执行如下代码,你会看到音量没有变化:

var sp = getSpotifyApi(1);
var models = sp.require('sp://import/scripts/api/models');
var views = sp.require('sp://import/scripts/api/views');
var player = models.player;

player.volume;
player.volume = 0.5;
player.volume;

[1]Change volume with spotify App API [2]https://***.com/questions/11230630/change-volume-in-a-spotify-app

【问题讨论】:

【参考方案1】:

这是预期的行为。文档有问题,将予以更正。

【讨论】:

以上是关于Spotify App API 错误报告:播放器音量无法设置为值的主要内容,如果未能解决你的问题,请参考以下文章

Spotify App API:添加为播放列表

Spotify App API:添加为播放列表

Spotify App API:播放专辑中的特定曲目

Spotify API 创建播放列表返回 错误: 状态:400,消息:'解析 JSON 时出错。'

(Spotify Web API)创建新播放列表 - POST 请求返回“错误 403(禁止)”

Spotify API 发布请求将曲目添加到播放列表 - 错误 400 错误请求