Можно ли получить текущий воспроизводимый трек в приложении 1.x apps?

Я пытаюсь обновить приложение удаленного управления Spotify, которое в настоящее время использует устаревший API, чтобы использовать новый 1.x API. Возможно ли использовать API 1.x для доступа к информации о текущей воспроизводимой дорожке? models.player.track, похоже, больше не существует (хотя и в документации).

Для любопытных я использую это для своего приложения, работающего в Spotify Desktop, которое использует веб-сокеты для связи с сервером Python, который затем предоставляет веб-интерфейс для телефонов и планшетов для удаленного управления экземпляром Spotify, работающим на рабочем столе. Это прекрасно работает с помощью унаследованного API, и я могу управлять воспроизведением и получать текущую информацию с любого подключенного пульта дистанционного управления. Я предполагаю, что это приложение вскоре перестанет работать, так как Spotify сообщает, что они удаляют устаревший API. (Если моё предположение, что приложение перестанет работать, неверно, тогда не берите в голову).

Благодарю.

1 ответ

Решение

Можно получить доступ к текущей дорожке воспроизведения, загружая track собственность Player,

Вы бы сделали что-то вроде этого:

require(['$api/models'], function(models) {

    function printStatus(track) {
        if (track === null) {
            console.log('No track currently playing');
        } else {
            console.log('Now playing: ' + track.name);
        }
    }

    // update on load
    models.player.load('track').done(function(p) {
        printStatus(p.track);
    });

    // update on change
    models.player.addEventListener('change', function(p) {
        printStatus(p.data.track);
    });
});

У вас есть рабочий пример в приложении Tutorial App под названием Get the текущий воспроизводимый трек.

Другие вопросы по тегам