Обходной путь Spotify для воспроизведения полных дорожек?

Я пытаюсь создать приложение, которое, помимо прочего, воспроизводит песни Spotify. Мне хорошо известно, что API Spotify не предоставляет веб-доступ к полным трекам на рабочем столе. Тем не менее, я все еще хотел бы изучить другие обходные пути или варианты. Мое веб-приложение построено на Python и Javascript, поэтому любое решение должно работать с ними. Однако, если вы знаете какие-либо решения на других языках, не стесняйтесь публиковать их. Вот что я хотел бы попробовать, прежде чем сдаться:

  1. Существуют ли какие-либо неофициальные API, предоставляющие доступ к полноформатным трекам? Например, я нашел этого парня https://pyspotify.mopidy.com/en/latest/. Будет ли этот или любой другой жизнеспособным для использования? Я знаю, что некоторые из них быстро устаревают из-за обновлений Spotify, но сейчас лучше иметь что-то, во что можно поиграть, чем ничего.

  2. Скрытая кнопка воспроизведения Spotify: есть ли способ встроить кнопку воспроизведения рядом с названием каждой дорожки в качестве скрытого элемента, а затем, когда я нажимаю собственную кнопку воспроизведения, запускается событие, которое «щелкает» кнопку воспроизведения Spotify? Я бы, возможно, инициировал событие щелчка в div, в котором хранится кнопка Spotify, или чтобы браузер определял ее координаты и нажимал на нее. Если это кажется жизнеспособным вариантом, как вообще будет выглядеть этот код?

  3. Воспроизведение трека непосредственно в Spotify: я бы определенно согласился, нажав на трек и воспроизведя его на настольном клиенте пользователя или в веб-плеере. Я использовал приложение под названием Unision, которое делает именно это. Когда вы пытаетесь воспроизвести песню Spotify, она открывает мой рабочий стол Spotify и автоматически начинает воспроизведение песни. Если они это сделали, то должен быть способ. Как будет выглядеть это решение?

Любая обратная связь будет принята с благодарностью.

Спасибо, что прочитали мой пост.


person user2030942    schedule 13.12.2016    source источник
comment
Пожалуйста, опубликуйте свои коды, которые вы пробовали.   -  person Naman    schedule 13.12.2016
comment
Я нахожусь на предварительном этапе, поэтому у меня не так много кода. Я действительно не вникал ни в один из этих вариантов, потому что я не знаю, возможны ли они вообще.   -  person user2030942    schedule 13.12.2016
comment
Я не знаю о первых двух, но третий обрабатывается через Spotify URI. Например: Spotify:исполнитель:0Ya43ZKWHTKkAbkoJJkwIB   -  person Morgan Thrapp    schedule 13.12.2016
comment
Это работает! Я нашел решение для 3-го варианта. Если вы вызываете URI дорожки с параметром автозапуска, установленным в true, то он начинает воспроизводиться автоматически. Вот пример: spotify:track:3rTIcUMMP2Ez33DfjJlb9e:autoplay:true Тем не менее, я оставляю вопрос открытым, поэтому, если у кого-то есть ответ на первый или второй варианты, их также можно изучить.   -  person user2030942    schedule 13.12.2016


Ответы (2)


Ариэль из Spotify здесь. На момент этого вопроса не было возможности воспроизвести полные треки в Интернете. Для тех из вас, кто планирует это в будущем, теперь вы можете использовать SDK для веб-воспроизведения!

https://beta.developer.spotify.com/documentation/web-playback-sdk/

Web Playback SDK — это библиотека JavaScript на стороне клиента, которая позволяет создавать новый проигрыватель в Spotify Connect и воспроизводить любую звуковую дорожку из Spotify в браузере с помощью расширений Encrypted Media Extensions. Это та же технология, которую мы используем для обеспечения работы нашего веб-плеера.

Некоторые вещи, которые вы можете сделать с помощью SDK веб-воспроизведения:

  • Создайте нового проигрывателя в Spotify Connect
  • Потоковая передача аудиодорожки в поддерживаемых браузерах
  • Получить метаданные для текущей дорожки
  • Получить метаданные о сеансе прослушивания пользователя
  • Управление локальным воспроизведением (пауза, возобновление, громкость и т. д.)

Удачного взлома!

person arirawr    schedule 09.01.2018

Я решил эту проблему, воспользовавшись третьим вариантом и вызвав URI дорожки с параметром autoplay:true. Поэтому, чтобы вызвать конкретную песню из моего кода, я бы просто обратился к следующему URL-адресу:

spotify:track:3rTIcUMMP2Ez33DfjJlb9e:autoplay:true

что заставляет песню автоматически воспроизводиться на клиенте Spotify.

Если у кого-то есть какие-либо предложения относительно того, как подойти к идеям 1 и 2, эти варианты все еще стоит рассмотреть.

person user2030942    schedule 17.12.2016