- Trình phát media mã nguồn mở đa năng viết bằng Swift, tích hợp tốt với Force Touch/Touch Bar/điều khiển media của hệ thống trên Mac
- Dựa trên engine mpv, có thể phát hầu hết các loại media và hỗ trợ các tính năng như PIP, chế độ tối, phụ đề trực tuyến
- Từ phiên bản 1.4.0, đã bổ sung hệ thống plugin dựa trên JavaScript, cho phép tùy biến tự do từ điều khiển phát cho đến UI tùy chỉnh chỉ với vài dòng mã
- Các khả năng mà plugin có thể truy cập
- Core: điều khiển phát, khung cửa sổ, kiểm tra và thiết lập trạng thái track phụ đề
- Playlist: điều khiển danh sách phát và thêm menu tùy chỉnh
- Subtitle: đăng ký trình tải phụ đề tùy chỉnh, hỗ trợ tích hợp UI
- Menu: thêm các mục kèm phím tắt vào menu plugin
- Overlay: hiển thị nội dung tùy biến dựa trên webview phía trên video
- Sidebar View: thêm tab dựa trên webview vào thanh bên
- Standalone Window: cung cấp cửa sổ độc lập cho UI phức tạp
- Global Controller: tạo và điều khiển nhiều phiên bản trình phát
- File: truy cập hệ thống tệp của người dùng, xử lý tệp và dữ liệu tạm trong sandbox
- Preferences: lưu thiết lập và thêm trang riêng vào bảng tùy chọn
- Utils: hiển thị hộp thoại hệ thống, chạy tệp thực thi bên ngoài
- Console: xuất log gỡ lỗi, xem trong trình xem log của IINA
- MPV: tận dụng thuộc tính API và hook của mpv để điều khiển phát nâng cao
- Event: đăng ký/hủy đăng ký listener sự kiện của IINA và mpv
- HTTP: thực thi yêu cầu HTTP và XMLRPC
- Ví dụ plugin
// 비디오 상단에 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(); });
Chưa có bình luận nào.