Приложения Spotify — кнопка «Добавить как список воспроизведения» для списка воспроизведения, созданного в приложении.

Мой код перебирает несколько альбомов, чтобы получить их треки, и добавляет их в переменную списка воспроизведения.

playlist.add(m.Track.fromURI(results.tracks[j].uri));

Который я ранее установил с

var playlist = new m.Playlist('robs top 5');

Как теперь я могу создать кнопку «Добавить как список воспроизведения», которая превратит этот объект списка воспроизведения в список воспроизведения для пользователя?

Спасибо


person Rob Dove    schedule 12.04.2012    source источник


Ответы (3)


Сделайте кнопку, а затем вызовите

playlist.subscribed = true;

Но я не думаю, что это работает для самостоятельно созданных списков воспроизведения, но дайте мне знать.

-edit K, я все уладил для вас. Что вы хотите сделать, когда вам нужна кнопка подписки, так это дать вашему плейлисту имя, а затем все, что вам нужно добавить, это то, что подписка верна.

$('#subscribe').on('click', function() {
    var playlist = new models.Playlist('Playlist Name');
            playlist.subscribed = true;
            $.each(tracks, function(index, track){
                playlist.add(track);
            });
    });

Это небольшая часть того, как я это сделал.

person xdbas    schedule 12.04.2012
comment
Я думаю, что эта часть работает только для уже существующего плейлиста, но для созданного плейлиста она не должна работать. - person Geraud Puechaldou; 13.04.2012
comment
ЕСЛИ это не работает для несуществующих списков воспроизведения, есть ли способ сначала создать список воспроизведения и получить URL-адрес? Я вижу, что другие приложения умеют создавать плейлисты на лету из рекомендаций. - person Rob Dove; 13.04.2012
comment
@GeraudPuechaldou Я использовал это для своего собственного динамически создаваемого плейлиста. У меня нет опыта работы с существующими плейлистами от URI.. - person xdbas; 13.04.2012
comment
@RobDove Если вам нужен мой исходный код, вы можете просто написать мне в личку, вы можете посмотреть, как я это сделал. - person xdbas; 13.04.2012
comment
@Basje, потому что у меня без подписки тоже работает. Я использовал подписку на существующий плейлист, а не на динамический... Это должно быть что-то из API. - person Geraud Puechaldou; 13.04.2012
comment
@GeraudPuechaldou О, вы правы, это также работает без x.subscribed = true ..странно - person xdbas; 13.04.2012

Вот, как я сделал:

$('myplaylistbutton').live('click',function(e){
var myAwesomePlaylist = new m.Playlist(album.artist.name + " - " + pl.name);
$.each(pl.data.all(),function(i,track){
    myAwesomePlaylist.add(track);
});
e.preventDefault();
}); 

Надеюсь, это поможет.

person Geraud Puechaldou    schedule 12.04.2012

Чтобы создать плейлист, вам понадобится следующий код:

$(document).ready(function() {
    /* Instantiate the global sp object; include models & views */
    var sp = getSpotifyApi(1);
    var models = sp.require('sp://import/scripts/api/models');
    var views = sp.require('sp://import/scripts/api/views');

    $("#subscribe").click(function(playlist){
        var playlist = models.Playlist.fromURI("spotify:user:spotify:playlist:3Yrvm5lBgnhzTYTXx2l55x");
        playlist.subscribed = true;

        playlist.observe(models.EVENT.CHANGE, function() {
            console.log("Playlist is subscribed!");
        });
     });

});
person Mick D    schedule 13.04.2012