Cihaz Tier Sistemi

Mobil cihazlara göre MP3 kalite seçimi

Basit Anlatım (Herkes İçin)

Ne yapıyor? Kullanıcının telefonuna göre müzik kalitesini otomatik ayarlıyor.

3 Seviye Var:

  • Strong (Güçlü) → En iyi kalite (orijinal MP3)
  • Good (İyi) → Orta kalite (128 kbps)
  • Weak (Zayıf) → Düşük kalite (64 kbps)

Neden önemli? Eski telefonlarda yüksek kalite takılmaya neden olur. Bu sistem herkesin akıcı dinlemesini sağlıyor.

Nasıl Çalışıyor?

┌─────────────────┐
│  Kullanıcı siteye girer
└────────┬────────┘
         ▼
┌─────────────────┐
│  JavaScript cihazı ölçer:
│  • RAM ne kadar?
│  • CPU kaç çekirdek?
│  • İnternet hızlı mı?
│  • Yeni model mi?
└────────┬────────┘
         ▼
┌─────────────────┐
│  Puan hesaplar ve
│  cookie'ye yazar:
│  mz_device = strong/good/weak
└────────┬────────┘
         ▼
┌─────────────────┐
│  Şarkı çalınca backend
│  cookie'yi okur ve
│  uygun kaliteyi seçer
└────────┬────────┘
         ▼
┌─────────────────┐
│  Bunny CDN'den
│  o kalitedeki dosyayı
│  kullanıcıya gönderir
└─────────────────┘
                

Safari Sorunu ve Çözümü

Sorun:

Safari tarayıcısı bazı ölçüm özelliklerini desteklemiyor:

  • navigator.deviceMemory → RAM ölçülemiyor
  • navigator.connection → İnternet hızı ölçülemiyor
  • navigator.hardwareConcurrency → CPU çekirdek sayısı çalışıyor

Çözüm:

Safari'de yeni model cihazlara (iPhone 15+) ekstra puan veriyoruz:

  • • Chrome'da flagship cihaz = +2 puan
  • • Safari'de flagship cihaz = +4 puan (API eksikliğini telafi)

Puan Sistemi

Kriter Koşul Puan
RAM 6GB ve üzeri +2
RAM 4-6GB arası +1
CPU 6+ çekirdek +2
CPU 4-6 çekirdek +1
İnternet 4G bağlantı +1
Flagship (Chrome) iPhone 15+, S23+, Pixel 8+ +2
Flagship (Safari) iPhone 15+, iPad Pro M2+ +4

Karar:

  • 6+ puan → strong → Orijinal MP3
  • 4-5 puan → good → 128 kbps MP3
  • 0-3 puan → weak → 64 kbps MP3

Örnek Hesaplamalar

iPhone 15 Pro Max (Safari)

  • RAM: ölçülemiyor → 0
  • CPU: 6 çekirdek → +2
  • 4G: ölçülemiyor → 0
  • Flagship + Safari → +4

Toplam: 6 → STRONG ✓

iPhone 14 (Safari)

  • RAM: ölçülemiyor → 0
  • CPU: 6 çekirdek → +2
  • 4G: ölçülemiyor → 0
  • Flagship değil → 0

Toplam: 2 → WEAK

Samsung S24 (Chrome)

  • RAM: 8GB → +2
  • CPU: 8 çekirdek → +2
  • 4G bağlantı → +1
  • Flagship (S24) → +2

Toplam: 7 → STRONG ✓

Eski Android (Chrome)

  • RAM: 3GB → 0
  • CPU: 4 çekirdek → +1
  • 3G bağlantı → 0
  • Flagship değil → 0

Toplam: 1 → WEAK

Bunny CDN Dosya Yapısı

audio.muzibu.com/
├── songs/
│   ├── original/        ← Strong cihazlar
│   │   ├── 51.mp3
│   │   ├── 52.mp3
│   │   └── ...
│   │
│   ├── mp3_128/         ← Good cihazlar
│   │   ├── 51.mp3
│   │   ├── 52.mp3
│   │   └── ...
│   │
│   └── mp3_64/          ← Weak cihazlar
│       ├── 51.mp3
│       ├── 52.mp3
│       └── ...
│
└── hls/                 ← PC'ler (HLS streaming)
    ├── 51/
    │   ├── master.m3u8
    │   ├── segment-000.ts
    │   └── ...
    └── ...
                

⚠️ Dikkat: iPhone 12-14 Sorunu

iPhone 12, 13, 14 Safari'de WEAK çıkıyor çünkü:

İstersen iPhone 12-14'e de +2 puan ekleyebiliriz ki en azından good olsunlar.

25 Mart 2026 • Muzibu.com