- เครื่องเล่นมีเดียโอเพนซอร์สอเนกประสงค์ที่พัฒนาด้วย Swift และทำงานร่วมกับ Force Touch/Touch Bar/System Media Controls ของ Mac ได้อย่างดี
- ใช้เอนจิน mpv จึงเล่นสื่อได้เกือบทุกชนิด และรองรับฟีเจอร์อย่าง PIP, โหมดมืด, คำบรรยายออนไลน์ เป็นต้น
- ตั้งแต่เวอร์ชัน 1.4.0 ได้เพิ่ม ระบบปลั๊กอินบนพื้นฐาน JavaScript ทำให้สามารถ ปรับแต่ง ได้อย่างอิสระตั้งแต่การควบคุมการเล่นไปจนถึง UI แบบกำหนดเอง ด้วย โค้ดเพียงไม่กี่บรรทัด
- ความสามารถที่ปลั๊กอินเข้าถึงได้
- Core: ควบคุมการเล่น, เฟรมหน้าต่าง, ตรวจสอบและตั้งค่าสถานะแทร็กคำบรรยาย
- Playlist: ควบคุมเพลย์ลิสต์และเพิ่มเมนูแบบกำหนดเอง
- Subtitle: ลงทะเบียนตัวดาวน์โหลดคำบรรยายแบบกำหนดเอง และรองรับการผสานเข้ากับ UI
- Menu: เพิ่มรายการในเมนูปลั๊กอินพร้อมคีย์ลัด
- Overlay: แสดงเนื้อหาแบบกำหนดเองบนวิดีโอด้วย webview
- Sidebar View: เพิ่มแท็บบนพื้นฐาน webview ในแถบด้านข้าง
- Standalone Window: มีหน้าต่างแยกสำหรับ UI ที่ซับซ้อน
- Global Controller: สร้างและควบคุมอินสแตนซ์ของเครื่องเล่นหลายตัว
- File: เข้าถึงระบบไฟล์ของผู้ใช้ จัดการไฟล์ชั่วคราวและข้อมูลใน sandbox
- Preferences: บันทึกการตั้งค่าและเพิ่มหน้าเฉพาะในแผง 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(); });
ยังไม่มีความคิดเห็น