Как создать работающую маленькую миниатюру с маленькой кнопкой воспроизведения с помощью API Spotify Apps? - PullRequest
2 голосов
/ 12 февраля 2012

немного новичок в JavaScript здесь.

Я пытаюсь создать это: http://i.imgur.com/LXFzy.png из Руководства по пользовательскому интерфейсу Spotify . В основном обложка альбома 64x64 с кнопкой воспроизведения соответствующего размера.

Это то, что я имею до сих пор:

function DataSource(playlist) {
this.count = function() {
    return playlist.length;
}

// make node with cover, trackname, artistname
this.makeNode = function(track_num) {
    var t = playlist.data.getTrack(track_num);
    // console.log(t);

    var li = new dom.Element('li');

    //generate cover image with play/pause button
    var track = m.Track.fromURI(t.uri, function(a) {
        var trackPlayer = new v.Player();
        trackPlayer.track;
        trackPlayer.context = a;
        dom.inject(trackPlayer.node, li, 'top')
    });

    //track name
    var trackName = new dom.Element('p', {
        className: 'track',
        text: t.name
    });

    //artist name
    var artistName = new dom.Element('p', {
        className: 'artist',
        text: t.artists[0].name
    });

    dom.adopt(li, trackName, artistName);
return li;
 }
}

Эта функция источника данных передается в функцию пейджера позже в коде. Этот код генерирует изображение, имя исполнителя и название дорожки просто отлично, за исключением того, что я не могу получить изображение размером 64x64 без переопределения с моим собственным CSS. Я уверен, что есть способ установить это в javascript, так как основные файлы Spotify CSS включают в себя класс для него, но я не знаю, как это сделать.

Также кнопка воспроизведения рендерится, но выдает ошибку в консоли, что у трека нет метода get, когда я нажимаю на него. Откуда мне знать, что это нужно получить? Есть ли какой-то способ, которым я могу видеть эту функцию плеера, чтобы я знал, что я делаю с ней неправильно?

Любая помощь будет принята с благодарностью, я уверен, что она также поможет многим людям, так как я не могу найти документацию о том, как это сделать.

1 Ответ

0 голосов
/ 11 апреля 2012

Проверьте код здесь: https://github.com/ptrwtts/kitchensink/blob/master/js/player.js Приложение Kitchensink отображает множество функций API Spotify Apps

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

...