- MacのForce Touch/Touch Bar/システムメディアコントロールなどと高い親和性を持つ、Swift製のオープンソース多機能メディアプレーヤー
- mpvエンジンベースでほとんどのメディアを再生でき、PIP、ダークモード、オンライン字幕などの機能をサポート
- 1.4.0からJavaScriptベースのプラグインシステムを追加し、数行のコードだけで再生制御からカスタムUIまで自由にカスタマイズ可能
- プラグインからアクセス可能な機能
- Core: 再生制御、ウィンドウフレーム、字幕トラックの状態確認と設定
- Playlist: 再生リストの制御とカスタムメニューの追加
- Subtitle: カスタム字幕ダウンローダーの登録、UI統合をサポート
- Menu: プラグインメニューにショートカット付き項目を追加
- Overlay: WebViewベースのカスタムコンテンツを動画上に表示
- Sidebar View: サイドバーにWebViewベースのタブを追加
- Standalone Window: 複雑なUI向けに独立ウィンドウを提供
- Global Controller: 複数のプレーヤーインスタンスを生成・制御
- File: ユーザーファイルシステムへのアクセス、サンドボックスの一時ファイル・データ処理
- Preferences: 設定の保存と環境設定パネルへの専用ページ追加
- Utils: システムダイアログの表示、外部実行ファイルの起動
- Console: デバッグログの出力、IINAログビューアで確認可能
- MPV: mpv APIのプロパティやフックを活用し、高度な再生制御が可能
- Event: IINAおよびmpvイベントリスナーの登録/解除
- HTTP: HTTPおよびXMLRPCリクエストの実行
- プラグイン例
// 비디오 상단에 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(); });
まだコメントはありません。