mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-22 21:31:20 -08:00
Refactor code structure for improved readability and maintainability
feat: add JASSUB type definitions and update common.js references feat: add JASSUB plugin for advanced subtitle rendering in HTML5 video - Implemented a new JASSUB class for handling subtitle rendering with options for video and canvas targets. - Added support for both synchronous and asynchronous rendering modes. - Integrated Web Worker for offloading rendering tasks, improving performance. - Included methods for managing subtitle tracks, styles, and events. - Added color space verification and handling to ensure accurate subtitle display. - Implemented local font access for enhanced typography options in subtitles. - Introduced a benchmarking feature to assess rendering performance. refactor: update README and type definitions for artplayer-plugin-jassub - Removed installation and usage instructions from README.md for clarity. - Updated index.js to remove direct assignment of jassub instance to art. - Enhanced type definitions in artplayer-plugin-jassub.d.ts to include detailed JassubOption and JassubInstance interfaces.
This commit is contained in:
1 parent
ce35026cb4
commit
f4d99eb09e
27 files changed
+8315
-55
No files matched your search
@@ -1,13 +1,37 @@
|
||||
import type Artplayer from 'artplayer';
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
interface Option {
|
||||
//
|
||||
export interface JassubOption {
|
||||
workerUrl: string
|
||||
wasmUrl: string
|
||||
modernWasmUrl: string
|
||||
subUrl?: string
|
||||
subContent?: string
|
||||
timeOffset?: number
|
||||
debug?: boolean
|
||||
prescaleFactor?: number
|
||||
prescaleHeightLimit?: number
|
||||
maxRenderHeight?: number
|
||||
fonts?: string[] | Uint8Array[]
|
||||
availableFonts?: Record<string, Uint8Array | string>
|
||||
fallbackFont?: string
|
||||
useLocalFonts?: boolean
|
||||
libassMemoryLimit?: number
|
||||
libassGlyphLimit?: number
|
||||
[key: string]: any
|
||||
}
|
||||
|
||||
export interface JassubInstance {
|
||||
resize: (force?: boolean, width?: number, height?: number, top?: number, left?: number) => Promise<void>
|
||||
setVideo: (video: HTMLVideoElement) => Promise<void>
|
||||
destroy: () => Promise<void>
|
||||
[key: string]: any
|
||||
}
|
||||
|
||||
interface Result {
|
||||
name: 'artplayerPluginJassub';
|
||||
name: 'artplayerPluginJassub'
|
||||
instance: JassubInstance
|
||||
}
|
||||
|
||||
declare const artplayerPluginJassub: (option: Option) => (art: Artplayer) => Result;
|
||||
declare const artplayerPluginJassub: (option: JassubOption) => (art: Artplayer) => Result
|
||||
|
||||
export default artplayerPluginJassub
|
||||
export default artplayerPluginJassub
|
||||
Reference in new issue
Block a user