1️⃣ Kullanıcı siteye girer
2️⃣ SPACE tuşuna basar (veya Play butonuna tıklar)
✅ Müzik OTOMATIK BAŞLAR (Genre infinite loop)
3️⃣ Tarayıcıyı minimize eder
✅ Müzik ARKA PLANDA ÇALMAYA DEVAM EDER
4️⃣ Sayfa yenilenir (F5)
✅ Müzik OTOMATIK DEVAM EDER (localStorage)
5️⃣ Akşama kadar dokunmasına gerek yok! 🎉
Nasıl Çalışıyor:
muzibu_was_playing: true)was_playing === true → OTOMATIK BAŞLATIR✅ Sonuç: F5 bassan bile müzik devam eder!
Nasıl Çalışıyor:
togglePlayPause() çalışırplayRandomSongs() çağrılır✅ Sonuç: Space'e bas, müzik başlar! (Genre infinite loop)
Nasıl Çalışıyor:
document.addEventListener('visibilitychange')document.hidden === truesyncPlayerState() (UI güncelle)playsinline attribute eklendi✅ Sonuç: Tarayıcıyı minimize et, müzik çalmaya devam eder!
muzibu_was_playing
true/false - Müzik çalıyor muydu?
muzibu_last_song_id
Son çalan şarkı ID
muzibu_play_context
Genre/Album/Playlist context
GET /api/muzibu/genres
Auto-start için genre listesi
POST /api/muzibu/queue/refill
Genre'den şarkı yükleme
Page Visibility API
document.hidden listener
Kullanıcı https://muzibu.com adresine girer
Player init → preloadLastPlayedSong → autoResumePlayback
SPACE tuşuna basar (veya Play butonuna tıklar)
togglePlayPause → playRandomSongs → Genre'den 15 şarkı yükle → ▶️ BAŞLAT!
Tarayıcı minimize edilir (Alt+Tab, minimize buton)
document.hidden = true → Müzik DEVAM EDER (arka plan)
Kullanıcı F5'e basar (veya sayfa crash olur)
localStorage.muzibu_was_playing = true → autoResumePlayback → ▶️ DEVAM!
Müzik sonsuz döngüde çalıyor (Genre infinite loop + Auto-refill)
Queue checker (10s) + Context transition + Aggressive preload → HİÇBİR SORUN YOK!
✅ Queue Monitor started (checks every 10s)
🔍 Auto-resume check: {wasPlaying: true, lastSongId: 344}
🎵 Auto-resuming playback...
▶️ Auto-play resumed!
---
✅ Background playback enabled (works when minimized)
📱 Page hidden - Background playback active
👀 Page visible - Welcome back!
---
🎵 Auto-starting music from Genre (infinite loop)...
✅ Queue refilled: 15 songs
🎵 Metal çalıyor