Müzik, video, ses... uygulaması. Pek çok özelliğiyle eklentiler ve yapay zeka. Sade bir arayüz ve kullanıcı dostu bir yapı benimsedim.
Player — Modern, çapraz platform medya oynatıcı. Müzik, video ve ses dosyalarını oynatır; eklenti sistemi ve AI entegrasyonu ile genişletilebilir.
Player 5 platformda hazır paketlenmiş olarak indirilebilir. Her platform için ayrı derlenmiş binary sunulur — kullanıcının kendi derlemesine gerek yoktur.
| Platform | İşletim Sistemi | Mimari | İndirme |
|---|---|---|---|
|
|
🪟 Windows | x86-64 (Setup installer) | Player-1.0.0-setup-x64.exe • 106 MB |
|
|
🍎 macOS | Intel (x64) + Apple Silicon (arm64) DMG | Player-1.0.0.dmg • indirilebilir |
|
|
🐧 Linux | x86-64 (AppImage / deb / rpm) | Player-1.0.0.AppImage • indirilebilir |
|
|
🤖 Android | ARM64 + ARMv7 (APK) — 3.4 MB | Player-1.0.0.apk • indirilebilir |
|
|
🍎 iOS | ARM64 (IPA) | Player-1.0.0.ipa • indirilebilir |
ℹ️ Tüm platformlar için derlenmiş binary'ler Releases sayfasında. Windows için Setup installer (NSIS) önerilir.
Doğrudan linkler (son sürüm v1.0.0):
| İşletim Sistemi | Tip | Dosya | Boyut |
|---|---|---|---|
| 🪟 Windows | x86-64 (Setup) | Player-1.0.0-setup-x64.exe | 106 MB |
| 🪟 Windows | x86-64 (Portable) | Player-1.0.0-portable-x64.exe | 94 MB |
| 🐧 Linux | x86-64 (AppImage) | Player-1.0.0-linux-x86_64.AppImage | indirilebilir |
| 🐧 Linux | x86-64 (deb) | Player-1.0.0-linux-amd64.deb | indirilebilir |
| 🐧 Linux | x86-64 (rpm) | Player-1.0.0-linux-x86_64.rpm | indirilebilir |
| 🍎 macOS | x64 + arm64 (DMG) | Player-1.0.0.dmg | indirilebilir |
| 🤖 Android | ARM (APK) | Player-1.0.0.apk | indirilebilir |
| 🍎 iOS | ARM64 (IPA) | Player-1.0.0.ipa | indirilebilir |
| 📦 Source | zip / tar.gz | Player-1.0.0-source.zip | 86 MB |
💡 Tüm platformlar için binary hazır — kullanıcının kendi derlemesine gerek yok. macOS / iOS sertifikalı değildir; ilk açılışta "Geliştirici onaylanmamış" uyarısı çıkabilir (sistem ayarlarından izin verilebilir).
- Desteklenen Formatlar: MP3, FLAC, WAV, M4A, OGG, AAC, WMA, MP4, MKV, AVI, WEBM
- Video Oynatma: Tam video desteği
- Ses Görselleştirici: 3D spektrum analizörü + dalga formu
- 10 Bantlı Ekolayzer: Grafik ekolayzer ile ses profili oluşturma
- Ses Efektleri: Hız değiştirme, yankı, kompresör, filtreler
- Altyazı Desteği: SRT/VTT yükleme, zaman çizelgesinde takip, tıklayarak atlama
- AI Sohbet: Eklenti oluşturmak için AI desteği (OpenRouter API)
- AI Güvenlik Analizi: Eklentileri yüklemeden önce AI ile analiz etme
- AI Sağlayıcı: OpenRouter, OpenAI, Anthropic, Google ve özel uç nokta desteği
- Eklenti Mağazası: Keşfet, indir, kur
- Eklenti Oluşturma: AI sohbet ile eklenti geliştirme
- GitHub Yayınlama: Eklentileri doğrudan GitHub'a yayınlama
- Güvenlik: AI destekli güvenlik analizi, erişim seviyesi değerlendirmesi
- Sade ve Modern: Tailwind CSS ile temiz, minimal tasarım
- Tamamen Türkçe: Menüler, ayarlar, bildirimler
- Koyu/Açık Tema: İki tema seçeneği
- Özelleştirilebilir Renk: Vurgu rengi seçimi
- Saydamlık Ayarı: Pencere saydamlığı
- Mini Mod: Küçültülmüş pencere modu
- Tam Ekran Medya: Sadece medya içeriği ile tam ekran deneyimi
- Kategori bazlı müzik kütüphanesi
- Sürükle-bırak dosya ekleme
- YouTube URL'den müzik indirme (FFmpeg ile)
- Ses dosyası metaveri okuma (ID3 etiketleri)
- Boşluk: Oynat/Duraklat
- Ctrl+→ / ←: İleri/Geri
- Ctrl+↑ / ↓: Ses aç/kapa
- F11: Mini mod
- F: Tam ekran medya
- C: Altyazı aç/kapa (YouTube tarzı)
- L: Altyazı paneli
- Escape: Tam ekrandan çık
- Uyku Zamanlayıcısı: Belirli dakika sonra otomatik duraklatma
- Ses Boost: %100-%200 arası ses artırma (kırmızı gösterge)
- Otomatik Bypass: EQ ve efektler 0'dayken ses işleme devre dışı (kalite artışı)
- Geri Dönüşüm Silme: Sağ tık > Sil dosyayı geri dönüşüme gönderir
- Daraltılabilir Playlist: Çalışma listesi küçültülüp büyütülebilir
- Global Görselleştirici: Tüm sekmelerde ses dalgası/spektrum görünür
- Player Setup 1.0.0.exe dosyasını çalıştırın
- Kurulum sihirbazını takip edin
- Uygulamayı başlatın
| Bileşen | Gereksinim |
|---|---|
| İşletim Sistemi | Windows 10/11, macOS 10.15+, Linux (Ubuntu 20.04+/Fedora 38+) |
| RAM | En az 4 GB |
| Depolama | 500 MB boş alan |
| İsteğe Bağlı | FFmpeg (YouTube indirme), git, Node.js 18+ (geliştirme) |
Player Windows, macOS, Linux, Android ve iOS için derlenebilir.
Bu normaldir ve endişelenecek bir durum değildir:
| Platform | İçerik | Yaklaşık Boyut |
|---|---|---|
| Windows / macOS / Linux (Electron) | Chromium (~80 MB) + Node.js + uygulama kodu | 80–150 MB |
| Android (APK) | Sadece Capacitor runtime + HTML/CSS/JS bundle. WebView ve medya codec'leri (ExoPlayer/MediaPlayer) işletim sisteminden gelir. | 3–5 MB |
| iOS | Sadece Capacitor runtime + HTML/CSS/JS bundle. WKWebView ve AVFoundation işletim sisteminden gelir. | 3–5 MB |
APK ve iOS paketleri gerçek birer medya oynatıcıdır; sadece görsel değildir. Tüm ses/video formatları (mp3, flac, mp4, mkv, vb.) işletim sisteminin native codec'leri ile çalınır. Sadece uygulama kabuğu (HTML/CSS/JS) pakete dahil edilir, çünkü WebView ve medya motoru zaten cihazda mevcuttur.
# Bağımlılıkları yükle
npm install
# Web derlemesi
npm run build-web
# ── Windows ──
npm run build # NSIS installer (x64 + ia32)
npm run build:win:portable # Portable executable (x64)
npm run build:win:zip # ZIP archive (x64)
# Çıktı: dist/Player-{version}-x64.exe
# ── macOS ──
npm run build:mac # DMG + ZIP (x64)
npm run build:mac:arm # Apple Silicon (ARM64)
npm run build:mac:zip # ZIP only (x64)
# Çıktı: dist/Player-{version}-mac-{arch}.dmg
# ── Linux ──
npm run build:linux # AppImage + deb + rpm (x64)
npm run build:linux:appimage # Sadece AppImage
npm run build:linux:deb # Sadece Debian/Ubuntu paketi
npm run build:linux:rpm # Sadece Fedora/RHEL paketi
# Çıktı: dist/Player-{version}-linux-{arch}.AppImage
# ── Tümü ──
npm run build:all:desktop # Win + Mac + Linux
npm run build:all # Tüm platformlar + tüm hedefler
npm run release # Build + GitHub'a yükle
# ── Android ──
npm run mobile:init # Capacitor bağımlılıklarını yükle
npm run mobile:android # Android Studio ile aç
# Not: Android SDK kurulu olmalı
# ── iOS ──
npm run mobile:init # Capacitor bağımlılıklarını yükle
npm run mobile:ios # Xcode ile aç
# Not: macOS + Xcode gerekli
# ── Geliştirme ──
npm run start:dev # Vite HMR + Electron canlı yeniden yüklememacOS dağıtımı için Apple Developer hesabı gerekir:
export APPLE_ID="ornek@email.com"
export APPLE_APP_SPECIFIC_PASSWORD="xxxx-xxxx-xxxx-xxxx"
export APPLE_TEAM_ID="TEAMID"
npm run build:mac| Mimarî | Windows | macOS | Linux | Android | iOS |
|---|---|---|---|---|---|
| x86-64 | ✅ NSIS | ✅ DMG/ZIP | ✅ AppImage/deb/rpm | — | — |
| ARM64 | — | ✅ DMG/ZIP | ✅ AppImage/deb | ✅ | ✅ |
| x86-32 | ✅ NSIS | — | — | — | — |
# Uygulamayı açın
# Dosyaları sürükleyip bırakın veya "Aç" butonunu kullanın
# Çalmak istediğiniz şarkıya tıklayın
# Ekolayzer ve efektleri özelleştirin
# Eklentiler ile genişletin
# AI ile eklenti oluşturunDetaylı rehber: EKLENTI_YAPMA.md
Player, JavaScript tabanlı eklentileri destekler. Eklentiler;
- Yeni özellikler ekleyebilir
- Yeni sayfalar oluşturabilir
- Tema/skin değiştirebilir
- API entegrasyonları yapabilir
Detaylı kullanım: KULLANIM_KILAVUZU.md
| Teknoloji | Amaç |
|---|---|
| Electron 28 | Masaüstü uygulama çatısı |
| React 19 | Kullanıcı arayüzü |
| Vite 8 | Derleme aracı |
| Tailwind CSS 4 | Stil çatısı |
| Zustand | Durum yönetimi |
| Tone.js | Ses işleme (ekolayzer/efektler) |
| Three.js | 3D görselleştirici |
| lunr.js | Yerel arama motoru |
| Wavesurfer.js | Dalga formu gösterimi |
| electron-builder | Cross-platform installer (Win/Mac/Linux) |
| Capacitor | Android/iOS mobil sarmalayıcı |
"It's a music, video, audio... application with many features like plugins and artificial intelligence. I've adopted a simple interface and user-friendly structure."
Player, basit bir medya oynatıcı fikrinden doğdu. Zamanla eklenti sistemi, AI entegrasyonu ve görsel araçlarla zenginleşti. Ama özünde hep sade ve kullanıcı dostu kaldı.
Kütüphane ekranının sağ üstündeki ☰ (hamburger) butonuna tıklayın. Açılan menüden bir içerik türü seçin:
| Seçenek | Açıklama |
|---|---|
| 📁 Dosya Ekle | Tek veya birden çok ses/video dosyası seçin (mp3, wav, flac, mp4, mkv, vb.) |
| 📂 Klasör Ekle | Tüm medya içeren bir klasör seçin — uygulama klasörü özyinelemeli olarak tarar |
| 🗜️ ZIP Ekle | .zip arşivi seçin — içindeki medya dosyaları otomatik çıkarılır ve eklenir |
| 🔗 URL / Bağlantı Ekle | http(s):// ile başlayan doğrudan medya bağlantısı (mp4, m3u8, mp3, vb.) |
youtube.com/watch?v=... veya youtu.be/... — yt-dlp ile indirilir |
Özellikler:
- ✅ Platform bazlı izin kontrolü (Android: STORAGE, iOS: PHOTO_LIBRARY, masaüstü: doğrudan erişim)
- ✅ Tüm eklenen öğeler SQLite'a kaydedilir (path, type, title, thumbnail, date_added)
- ✅ Thumbnail'lar
userData/thumbnails/altında önbelleğe alınır - ✅ Duplicate kontrolü: aynı path zaten varsa atlanır, kullanıcıya bildirilir
- ✅ ZIP dosyalarında Zip Slip açığı önlenir (extract path doğrulaması)
Veritabanı: userData/player-library.db
| Tablo | Amaç |
|---|---|
tracks |
Tüm medya öğeleri (id, title, artist, album, location, duration, picture, addedAt, playCount, lastPlayed, favorite, lyrics) |
playlists |
Kullanıcı çalma listeleri |
playlist_tracks |
Playlist-track ilişki tablosu |
categories |
Kullanıcı kategorileri |
track_categories |
Track-category many-to-many |
eq_presets |
Ekolayzer preset'leri |
track_eq |
Track-spesifik EQ ayarları |
scrobbles |
Dinleme geçmişi |
settings |
Key-value store (key, value, updatedAt) |
cache_metadata |
Thumbnail önbellek metadata (cacheKey, path, size, mimeType, expiresAt) |
- LRU Bellek Cache: Son 100 thumbnail Map'te (LRU eviction) —
Code/src/lib/lru-cache.js - Disk Cache:
userData/thumbnails/{hash}.jpg(SHA-256 prefix, 12 karakter) - TTL: 7 gün (DEFAULT_TTL_MS), cache_metadata tablosunda expiresAt ile
- Hash: Dosya adı + boyut → SHA-256 → 12 char prefix
sanitizePath()— path traversal (..) ve mutlak yol engeliescapeHtml()— XSS önlemi (kullanıcı girdisi → HTML)escapeUrl()—javascript:,vbscript:,data:tehlikeli scheme'lerini engelleparseSafeUrl()— URL API ile, sadecehttp(s):kabul ederparseYouTubeUrl()— sadece bilinen YouTube domain'leri (youtube.com,youtu.be,/shorts/,/embed/)isSafeZipEntry()— Zip Slip önlemi (entry path..içeremez, base dışına çıkamaz)getMediaType()— izin verilen ses/video uzantıları whitelist
add-music-files— Tek/çoklu dosya seçiciadd-music-folder— Klasör seçici + recursive taramaadd-music-compressed— ZIP açma + taramaadd-music-link— HTTP(S) URL / YouTube indirmevalidate-location— Path doğrulama (güvenlik)select-source-files/select-source-folder— Source bundle için
- Windows: System tray (src/platform/tray.js), Media Foundation codec'leri
- macOS: Menu bar (src/platform/menu.js), Keychain erişimi, dark mode
- Linux: AppImage self-contained, libnotify, xdg-open
- Android: MediaSession API, STORAGE izni, immersive mode
- iOS: AVAudioSession, MPNowPlayingInfoCenter, document picker
npm install
npm start # development (Vite + Electron)
npm run build-web # sadece Vite build
npm run build # Windows NSIS installer
npm run build:win:portable
npm run build:mac # macOS DMG (x64+arm64)
npm run build:linux # Linux AppImage/deb/rpm
npm run mobile:android # Capacitor sync + Android Studio
npm run mobile:ios # Capacitor sync + Xcode© 2026 TARIK ELER — Tüm hakları saklıdır.
Player — Müzik deneyiminizi yeniden tanımlayın.