- Open-Source-Mediaplayer für den Mac mit vielen Funktionen und guter Integration mit Force Touch/Touch Bar/System-Mediensteuerung
- Basiert auf der mpv-Engine und kann die meisten Medienformate abspielen; unterstützt Funktionen wie PIP, Dark Mode und Online-Untertitel
- Ab Version 1.4.0 wurde ein JavaScript-basiertes Plugin-System hinzugefügt, mit dem sich von der Wiedergabesteuerung bis zu benutzerdefinierten UIs mit nur wenigen Codezeilen alles frei anpassen lässt
- In Plugins verfügbare Funktionen
- Core: Wiedergabesteuerung, Fensterrahmen, Status von Untertitelspuren prüfen und festlegen
- Playlist: Wiedergabeliste steuern und benutzerdefinierte Menüs hinzufügen
- Subtitle: Benutzerdefinierte Untertitel-Downloader registrieren, Unterstützung für UI-Integration
- Menu: Einträge inklusive Tastenkürzeln zum Plugin-Menü hinzufügen
- Overlay: Maßgeschneiderte Inhalte auf WebView-Basis über dem Video anzeigen
- Sidebar View: WebView-basierte Tabs zur Seitenleiste hinzufügen
- Standalone Window: Eigenständige Fenster für komplexe UIs bereitstellen
- Global Controller: Mehrere Player-Instanzen erzeugen und steuern
- File: Zugriff auf das Dateisystem des Nutzers, Verarbeitung temporärer Sandbox-Dateien und -Daten
- Preferences: Einstellungen speichern und dem Einstellungsfenster eine eigene Seite hinzufügen
- Utils: Systemdialoge anzeigen, externe ausführbare Dateien starten
- Console: Debug-Logs ausgeben und im IINA-Log-Viewer prüfen
- MPV: mpv-API-Eigenschaften und Hooks nutzen, erweiterte Wiedergabesteuerung möglich
- Event: Event-Listener für IINA und mpv registrieren/entfernen
- HTTP: HTTP- und XMLRPC-Anfragen ausführen
- Plugin-Beispiele
// 비디오 상단에 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(); });
Noch keine Kommentare.