Веб -приложение для отображения вашей в настоящее время воспроизводимой песни на Spotify. Позволяет пропустить песни, играть/пауза и лайк/в отличие от. Анализует произведение искусства альбома, чтобы выбрать фон и цвет переднего плана, чтобы соответствовать изображению. Опросы каждые две секунды, чтобы обновить дисплей, чтобы показать свою в настоящее время воспроизводимую песню. Шкалы до размера вашего дисплея с помощью динамического макета.
Я начал свой проект, настраивая базовый сайт, чтобы показать Raw Json из моих данных Spotify, использующих Spotipy, Spotify Python API с открытым исходным кодом. Позже я написал немного JavaScript, чтобы опросить API Spotify каждые две секунды, чтобы проверить изменения. Если песня изменилась, страница обновлена новой информацией.
Я вычисляю цветовую палитру, используя библиотеку JavaScript под названием Colorthief, которая захватывает доминирующий цвет для фона, и контрастный альтернативный цвет из палитры для текста. Цвет текста не только черный или белый, но вместо этого выбирает несколько альтернативных цветов, чтобы сформировать всю палитру, и находит цвет из той палитры, который контрастирует с выбранным цветом фона.
Я использую символы материала Google для значков управления воспроизведением. Это позволяет легко масштабировать до разных размеров экрана без необходимости отдельных изображений.
Получение расположения элементов на экране и масштабирование для различных дисплеев было проблемой. Я хотел, чтобы это было по крайней мере терпимого на что -либо от ПК с пейзажным экраном, до чего -то вроде мобильного телефона. Это не идеально, но это довольно солидно. Кроме того, обнаружение в какой момент текст должен быть белым, а не черным, было сложно. Я должен был убедиться, что детали песни будут легко прочитать, независимо от того, какую песню играла в этот момент.
Есть много разных способов размещения этого веб -приложения. Я лично использую Fly.io. Вам также необходимо настроить приложение Developer Spotify, чтобы получить свой идентификатор клиента Spotify и секрет клиента.
Создайте учетную запись Developer Spotify, если у вас ее нет, и создайте новое приложение. Вам нужно будет принять к сведению идентификатор клиента и секрет клиента. Разыгрывайте веб -приложение, используя один из следующих 3 вариантов:
Затем вернитесь к приборной панели Developer Spotify и введите URI перенаправления. Обязательно удалите любые следы зацепления. Это должно быть функциональным!
Существует дополнительная информация о установке переменных среды и хостинга локально в большом комментарии в верхней части App.py.
Первоначально это был проект для курса Harvard CS50. С тех пор я добавлял свои собственные функции. Вы можете увидеть оригинальную версию CS50 в отдельной ветви. С тех пор я значительно улучшил алгоритм обнаружения цвета. В настоящее время также есть назначенная ветвь "Raspi", которая содержит дополнительные строки кода, чтобы вызвать локальный веб -сервер, чтобы выключить экран Raspberry Pi, когда музыка не играет.
Я все еще намерен обновить это, чтобы исправить ошибки с помощью обнаружения цвета и масштабирования экрана, а также нескольких кнопок и бонусных функций, а также многое другое.