VS Code Extensions
Radio Player Plus

Radio Player Plus

by osmankobat

VS Code radio player with MP3, AAC, Icecast/Shoutcast and HLS (.m3u8) support.

Downloads

15

Rating

— (0)

Version

0.2.0

Last updated

Jun 15, 2026

VS Code içinde çalışan internet radyosu çalar. Kenar çubuğu paneli, durum çubuğu (alt bar) kontrolleri, favoriler ve istasyon yönetimi içerir. MP3, AAC, Icecast/Shoutcast ve HLS (.m3u8) yayınlarını destekler.

Kurulum

code --install-extension radio-player-plus-X.Y.Z.vsix

Kurulumdan sonra: Ctrl+Shift+P → Developer: Reload Window

Gereksinimler

Gereksinim Zorunlu mu? Açıklama
VS Code 1.90+ Evet Eklenti motoru
FFmpeg (ffplay) Hayır Yalnızca bazı inatçı istasyonlar için (ör. Slow Türk / duhnet.tv).

FFmpeg otomatik yüklenir mi? Eklenti ffplay'i kendisi indirmez; önce PATH'te, sonra WinGet paket klasöründe arar. Bulunamazsa ve bir istasyon ffplay'e ihtiyaç duyarsa bildirim çıkarır ve tek tıkla WinGet kurulumu önerir ("Yükle" düğmesi terminalde şu komutu çalıştırır):

winget install --id Gyan.FFmpeg -e

Kurulum bitince pencereyi yeniden yükleyin. Elle kurmak isterseniz aynı komut yeterli.

Kullanım

Kenar çubuğu

Etkinlik çubuğundaki Radio simgesine tıklayın. İstasyona tek tık = çal. Üstteki arama kutusu ve filtre çipleri (Tümü / ★ Favoriler / MP3 / AAC / HLS / Stream) listeyi daraltır.

Alt bar (durum çubuğu) kontrolleri

Sol altta, soldan sağa:

Öğe İşlev
📡 İstasyon adı Tıkla → kanal listesi (hızlı seçim) açılır. Çalarken yeşil yanar.
‹ Önceki istasyon
▶ / ⏸ Çal / Duraklat (yüklenirken dönen simge)
› Sonraki istasyon
■ Durdur
− Sesi %10 azalt
🔊 %80 Tıkla → sesi tamamen kapat/aç
+ Sesi %10 artır

İstasyon yönetimi

  • Kanal ekle: Panelin üstündeki + düğmesi → ad ve URL sorar, ayarlara kaydeder.
  • Sağ tık (istasyon satırında) → URL değiştir veya İstasyonu sil (Evet/Hayır onaylı).
  • Favori: Satırdaki ⭐ simgesi. Favoriler listenin başına gelir ve kalıcıdır.
  • Ses seviyesi ve son çalınan istasyon oturumlar arası hatırlanır.

Komut paleti

Ctrl+Shift+P → "Radio Player:" yazın — Play Station, Play/Pause, Next/Previous Station, Stop, Volume Up/Down, Mute, Reload Stations, Open Panel.

İstasyon ayar formatı

İstasyonlar settings.json içinde radioPlayer.customStations altında durur (+ düğmesi ve sağ tık menüsü bunları sizin yerinize yazar):

"radioPlayer.customStations": [
  {
    "name": "Slow Turk",
    "url": "https://radyo.duhnet.tv/ak_dtvh_slowturk",
    "fallbackUrls": ["https://radyo.duhnet.tv/slowturk"]
  }
]

fallbackUrls isteğe bağlıdır; ana adres çalışmazsa sırayla denenir.

Nasıl çalışıyor? (mimari)

VS Code webview'ının ağ katmanı bazı radyo sunucularına hiç ulaşamıyor (istek loadstart'ta asılı kalıyor), düz http:// yayınlar karma içerik nedeniyle engelleniyor ve Shoutcast'in ICY 200 OK yanıtını Chromium reddediyor. Bu yüzden her istasyon URL'si bir deneme zincirine açılır; biri başarısız olursa otomatik sıradakine geçilir:

  1. ffplay (yalnızca duhnet.tv ve son çare) — yayını işletim sisteminde harici çalar; webview'ı tamamen baypas eder.
  2. MSE aktarımı — eklenti (Node) yayını çeker, AAC/MP3 karelerini doğrulayıp hizalar, baytları base64 ile webview'a gönderir; webview MediaSource tamponuna basar. Güvenilir ana yol.
  3. Loopback proxy — 127.0.0.1 üzerindeki yerel HTTP proxy; karma içerik, CORS ve ICY sorunlarını çözer. HLS listeleri de proxy'den yeniden yazılır.
  4. Doğrudan bağlantı — klasik <audio src>; HLS için hls.js (pakete gömülü, CDN gerekmez).

Bir kaynak 8 saniye içinde ses üretmezse bekçi zamanlayıcı sıradaki kaynağa geçer. Her aşama günlüğe yazılır.

Sorun giderme

  • Günlük: Ctrl+Shift+U (Output paneli) → açılır listeden Radio Player kanalını seçin. Akış başlatma, bayt sayıları ve hatalar burada görünür.
  • "Oynatmak için ▶ düğmesine tıklayın": VS Code'un otomatik çalma kısıtı — panel içindeki ▶ düğmesine bir kez tıklayın.
  • "Desteklenmeyen formatlar: ..." açılışta görünüyorsa: VS Code'un codec eksiği var demektir; mesajı geliştiriciye iletin.
  • İstasyon hiç çalmıyorsa: Sağ tık → URL değiştir ile güncel yayın adresini girin. Yayın adresleri zamanla ölür; radio-browser.info üzerinden güncel adres bulabilirsiniz.
  • ffplay sesi durdurulamıyorsa: Alt bardaki ■ (Durdur) düğmesi ffplay sürecini kapatır. Pencere kapanınca da otomatik kapanır.

Geliştirme

npm run lint        # sözdizimi kontrolü (extension.js + media/player.js)
node test-proxy.js  # proxy'yi gerçek istasyonlarla duman testi
npm run package     # vsix paketle
code --install-extension .\radio-player-plus-X.Y.Z.vsix --force

Hata ayıklama günlüğünü dosyaya da yazmak için eklentiyi RADIO_DEBUG_FILE=<dosya-yolu> ortam değişkeniyle başlatın. RADIO_TEST_URL=<yayın-url> değişkeni, geliştirme penceresinde paneli otomatik açıp verilen yayını test eder.

Related extensions