- เครื่องเล่นมีเดียโอเพนซอร์สอเนกประสงค์ที่พัฒนาด้วย 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(`${core.status.title}
); overlay.setStyle(p { font-size: 48px; }`);
overlay.show();
})
```js
// 비디오가 멈추면 윈도우를 최소화 하고, 원복되면 다시 시작
const { core, event } = iina;
event.on("mpv.pause.changed", () => {
core.window.miniaturized = core.status.paused;
});
event.on("iina.window-deminiaturized", () => {
core.resume();
});
ยังไม่มีความคิดเห็น