我正在使用Spotify和Deezer api构建一个Web应用程序,在这里我可以收听和控制(下一首,上一首,暂停,播放)音乐。 一切都可以在Android设备或台式机上正常运行,但不适用于IOS设备(Chrome / Safari)。我可以控制其他Spotify设备上的音乐:例如,如果我在计算机上打开了Spotify应用程序,则可以启动和切换iPhone上的曲目,但是音乐永远不会来自它。
我所做的很简单,获得令牌后,我会从用户那里检查所有已连接的设备,并检查是否存在活动的移动设备。 但是iphone设备从未被识别,我放了一条日志,如果我尝试仅从iphone播放,我可以看到没有设备。 之后,我只播放歌曲:
public playAlbum(track: Track, position?: number) {
const token = window.localStorage.getItem('wmg-as-token');
const body = {
'uris': [track.uri],
'offset': {
'position': 0
},
'position_ms': position ? position : 0
};
return this.http.put(`${this.uri}/me/player/play`, body, {headers: {'Authorization': 'Bearer ' + token}});
}
我没有使用Web Playback SDK ,我正在使用api端点:https://developer.spotify.com/documentation/web-api/reference/player/
我有很多代码可以发布(例如,在传输设备上),但是我不想放太多代码以不怕读者。也许我只是想念有关ios的信息。
如果有人有主意我就在这里。
编辑:
答案 0 :(得分:1)
Spotify似乎具有两个API: 一个上网:https://developer.spotify.com/documentation/web-api/ 还有一个iOS版本:https://developer.spotify.com/documentation/ios/
它们可能会略有不同,请检查您使用的是哪一个。 (这本来是评论,但即时消息<50 rep)
答案 1 :(得分:0)
Web Playback SDK不支持iOS浏览器:
https://developer.spotify.com/documentation/web-playback-sdk/#supported-browsers