7 puan yazan xguru 2025-09-21 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Mac'in Force Touch/Touch Bar/sistem medya kontrolleri gibi özellikleriyle iyi entegre olan, Swift ile yazılmış açık kaynaklı çok amaçlı bir medya oynatıcı
  • mpv motoru tabanlıdır; çoğu medyayı oynatabilir ve PIP, karanlık mod, çevrimiçi altyazı gibi özellikleri destekler
  • 1.4.0 sürümünden itibaren JavaScript tabanlı eklenti sistemi eklendi; böylece birkaç satır kodla oynatma kontrolünden özel UI'a kadar her şey esnek biçimde özelleştirilebilir
  • Eklentilerin erişebildiği işlevler
    • Core: oynatma kontrolü, pencere çerçevesi, altyazı parçası durumunu kontrol etme ve ayarlama
    • Playlist: oynatma listesi kontrolü ve özel menü ekleme
    • Subtitle: özel altyazı indirici kaydetme, UI entegrasyonu desteği
    • Menu: eklenti menüsüne kısayol tuşları içeren öğeler ekleme
    • Overlay: webview tabanlı özel içeriği videonun üzerinde gösterme
    • Sidebar View: kenar çubuğuna webview tabanlı sekmeler ekleme
    • Standalone Window: karmaşık UI'lar için bağımsız pencere sağlama
    • Global Controller: birden fazla oynatıcı örneği oluşturma ve kontrol etme
    • File: kullanıcının dosya sistemine erişim, sandbox geçici dosya ve veri işleme
    • Preferences: ayarları kaydetme ve tercihler paneline özel sayfa ekleme
    • Utils: sistem iletişim kutularını gösterme, harici çalıştırılabilir dosyaları çalıştırma
    • Console: hata ayıklama günlüklerini yazdırma, IINA günlük görüntüleyicisinde kontrol etme
    • MPV: mpv API özellikleri ve hook'larını kullanma, gelişmiş oynatma kontrolü
    • Event: IINA ve mpv olay dinleyicilerini kaydetme/kaldırma
    • HTTP: HTTP ve XMLRPC istekleri yürütme
  • Eklenti örnekleri
    // 비디오 상단에 48폰트 크기로 제목 표시하기  
    const { core, event, overlay } = iina;  
    event.on("iina.file-loaded", () => {  
      overlay.simpleMode();  
      overlay.setContent(`<p>${core.status.title}</p>`);  
      overlay.setStyle(`p { font-size: 48px; }`);  
      overlay.show();  
    })  
    
    // 비디오가 멈추면 윈도우를 최소화 하고, 원복되면 다시 시작   
    const { core, event } = iina;  
    event.on("mpv.pause.changed", () => {  
      core.window.miniaturized = core.status.paused;  
    });  
    event.on("iina.window-deminiaturized", () => {  
      core.resume();  
    });  
    

Henüz yorum yok.

Henüz yorum yok.