我幾周前開始使用Spotify應用程序API進行遊戲。Spotify App API錯誤報告:播放器音量無法設置爲值
我想更改音量。這應該通過使用播放器類的體積屬性來完成,如在documention指出:
體積設置或者獲取當前音量級別爲0.0和1.0之間的浮動。
不幸的是,事實證明,這個音量屬性只能用於獲取當前音量,而不能設置音量。
所以我開始在網上搜索一些信息。我發現棧溢出1和2兩個相關的帖子。
那麼,我會問你同樣的問題,你可能會問另外兩個人。
好吧,我已經深入瞭解了Spotify API並發現了一些有用的信息。我希望這篇文章能夠幫助Spotify開發者。
另外,stackoverflow似乎是去發佈Spotify錯誤報告的方式。
因此,我們來看看我的Spotify應用程序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屬性,然後(線889-892在models.js):
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],IKenndac建議:
你只能更改音量,如果您的應用程序發起了真實發生
回放不過這竟然是是錯的,我做了一個小應用程序來測試它: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://stackoverflow.com/questions/11230630/change-volume-in-a-spotify-app