Spotify API:不支持从临时播放列表创建单选按钮?
我正在构建一个应用程序,它正在生成一个临时的曲目播放列表。然后我尝试为临时播放列表创建一个“开始单选”按钮 该按钮已生成,但当我单击它时,屏幕将变为radio,但不播放也不加载任何电台 我猜这是不受支持的,因为如果我创建一个常规播放列表并执行此操作,它会播放收音机 但我在API中找不到任何证实或否认我猜测的信息 是否有人确切知道这是否不受支持 我真的宁愿从临时播放列表中执行此操作,也不必维护真正的播放列表…你说得对。不支持临时播放列表。不幸的是,文档中没有提到这一点 似乎无法将附加到临时播放列表的曲目数据传递到收音机应用程序,因此收音机应用程序加载时没有上下文信息 实现这一点的唯一方法是,正如您所说的,创建一个持久的播放列表并为此创建一个单选按钮。为了避免每次都创建新的播放列表,您也可以尝试在用户库中查找以前创建的播放列表 请参阅以下代码片段:Spotify API:不支持从临时播放列表创建单选按钮?,spotify,spotify-app,Spotify,Spotify App,我正在构建一个应用程序,它正在生成一个临时的曲目播放列表。然后我尝试为临时播放列表创建一个“开始单选”按钮 该按钮已生成,但当我单击它时,屏幕将变为radio,但不播放也不加载任何电台 我猜这是不受支持的,因为如果我创建一个常规播放列表并执行此操作,它会播放收音机 但我在API中找不到任何证实或否认我猜测的信息 是否有人确切知道这是否不受支持 我真的宁愿从临时播放列表中执行此操作,也不必维护真正的播放列表…你说得对。不支持临时播放列表。不幸的是,文档中没有提到这一点 似乎无法将附加到临时播放列表
require(['$api/models', '$api/library#Library', '$views/buttons#StartRadioButton'],
function(models, Library, StartRadioButton) {
// create a temporary playlist with some tracks
var playlistName = 'Some name';
models.Playlist.create(playlistName).done(function(playlist) {
playlist.load('tracks').done(function(loadedPlaylist) {
var track1 = models.Track.fromURI('spotify:track:5EB60KIbYgL8nWrHoYbfv4');
var track2 = models.Track.fromURI('spotify:track:7GPuYTiBA5BloBnFaQBjbw');
loadedPlaylist.tracks.add(track1);
loadedPlaylist.tracks.add(track2);
// now we can add a button to start a radio base on the newly
// created playlist
var button = StartRadioButton.forPlaylist(loadedPlaylist);
document.body.appendChild(button.node);
// bonus: we can also search for the playlist in the user's library
// so we don't have to create a new one all the time.
// this will work as long as we can find the playlist we created by name
// (i.e. it hasn't been renamed).
var currentLibrary = Library.forCurrentUser();
console.log(currentLibrary);
currentLibrary.playlists.snapshot().done(function(p) {
for (var i = 0; i < p.length; i++) {
var playlistFromLibrary = p.get(i);
if (playlistFromLibrary && playlistFromLibrary.name == playlistName) {
var button = StartRadioButton.forPlaylist(playlistFromLibrary);
document.body.appendChild(button.node);
}
}
});
});
});
});
require(['$api/models','$api/library#library','$views/buttons#StartRadioButton'],
功能(型号、库、开始按钮){
//创建包含一些曲目的临时播放列表
var playlame='某个名称';
型号。播放列表。创建(播放名称)。完成(功能(播放列表){
playlist.load('tracks').done(函数loadedPlaylist){
var track1=models.Track.fromURI('spotify:Track:5EB60KIbYgL8nWrHoYbfv4');
var track2=models.Track.fromURI('spotify:Track:7GPuYTiBA5BloBnFaQBjbw');
loadedPlaylist.tracks.add(track1);
loadedPlaylist.tracks.add(track2);
//现在,我们可以添加一个按钮,在新的
//创建的播放列表
var按钮=StartRadioButton.forPlaylist(加载的播放列表);
document.body.appendChild(按钮.节点);
//另外,我们还可以在用户的库中搜索播放列表
//所以我们不必一直创建一个新的。
//只要我们能找到我们按名称创建的播放列表,这就行了
//(即,它尚未重命名)。
var currentLibrary=Library.forCurrentUser();
console.log(currentLibrary);
currentLibrary.playlists.snapshot().done(函数(p){
对于(变量i=0;i
嘿,谢谢这太完美了!我试图通过要求他们向其中一个播放列表提交URI来解决这个问题,因为我找不到任何方法按名称搜索该用户的播放列表。但这应该能奏效!!谢谢欢迎你@Josh。使用名称搜索播放列表不是最可靠的方法,但它是迄今为止最好的选择。祝你好运