Aplikasi Web untuk menampilkan lagu Anda saat ini di Spotify. Memungkinkan Anda untuk melewatkan lagu, bermain/jeda, dan suka/tidak seperti. Menganalisis karya seni album untuk memilih latar belakang dan warna latar depan agar sesuai dengan gambar. Jajak pendapat setiap dua detik untuk menyegarkan layar untuk menunjukkan lagu Anda saat ini. Timbangan dengan ukuran tampilan Anda menggunakan tata letak dinamis.
Saya memulai proyek saya dengan menyiapkan situs dasar untuk menampilkan JSON RAW dari data Spotify saya yang menggunakan SpoIpy, open source Spotify Python API. Kemudian, saya menulis beberapa JavaScript untuk melakukan polling API Spotify setiap dua detik untuk memeriksa perubahan. Jika lagu telah berubah, halaman disegarkan dengan info baru.
Saya menghitung palet warna menggunakan perpustakaan JavaScript yang disebut colorthief yang meraih warna dominan untuk latar belakang, dan warna alternatif yang kontras dari palet untuk teks. Warna teks bukan hanya hitam atau putih, tetapi sebaliknya mengambil sampel beberapa warna alternatif untuk membentuk seluruh palet, dan menemukan warna dari palet yang kontras dengan warna latar belakang yang dipilih.
Saya menggunakan simbol materi Google untuk ikon kontrol pemutaran. Ini memungkinkan penskalaan yang mudah untuk ukuran layar yang berbeda tanpa memerlukan gambar terpisah.
Mendapatkan pengaturan elemen di layar dan penskalaan untuk tampilan yang berbeda adalah tantangan. Saya ingin terlihat setidaknya dapat ditoleransi pada apa pun dari PC dengan layar lansekap, hingga sesuatu seperti ponsel. Itu tidak sempurna, tapi cukup solid. Selain itu, menemukan pada titik apa teks harus putih, bukan hitam sulit. Saya harus memastikan bahwa detail lagu akan mudah dibaca tidak peduli lagu apa yang diputar pada saat itu.
Ada banyak cara berbeda Anda dapat meng -host WebApp ini. Saya pribadi menggunakan fly.io. Anda juga harus mengatur aplikasi pengembang Spotify untuk mendapatkan ID klien Spotify dan rahasia klien Anda.
Buat akun pengembang Spotify jika Anda tidak memilikinya, dan buat aplikasi baru. Anda harus mencatat ID klien dan rahasia klien. Host Webapp menggunakan salah satu dari 3 opsi berikut:
Kemudian kembali ke dasbor pengembang Spotify, dan masukkan URI pengalihan. Pastikan untuk menghapus tebasan trailing. Itu harus fungsional!
Ada informasi tambahan tentang pengaturan variabel lingkungan dan hosting secara lokal dalam komentar besar di bagian atas app.py.
Awalnya, ini adalah proyek untuk kursus Harvard CS50. Sejak itu, saya telah menambahkan fitur saya sendiri. Anda dapat melihat versi CS50 asli di cabang terpisah. Sejak itu, saya telah meningkatkan algoritma deteksi warna secara besar -besaran. Sekarang juga ada cabang "raspi" yang ditunjuk yang berisi baris kode tambahan untuk memanggil server web lokal untuk mematikan layar Raspberry Pi saat musik tidak diputar.
Saya masih bermaksud memperbarui ini untuk memperbaiki bug dengan deteksi warna dan penskalaan layar, dan beberapa tombol lagi dan fitur bonus, dan banyak lagi.