artplayer-plugin-chapter
chapter plugin for ArtPlayer
Demo
API
import artplayerPluginChapter from 'artplayer-plugin-chapter'
const plugin = artplayerPluginChapter({
chapters: [{ start: 0, end: Infinity, title: 'Introduction' }],
})
// Pass plugin to Artplayer's plugins array. Options may also be omitted.
The registered name is artplayerPluginChapter. After metadata loads, use
art.plugins.artplayerPluginChapter.update({ chapters }) to replace the chapters, or
update({}) to clear them. Update is synchronous and requires an options object.
Chapter times are seconds; ranges must not overlap. Infinity as an end value uses the current duration.
The existing implementation sorts and fills the supplied array in place and replaces its Infinity end values. Pass a fresh array when you need to retain the original configuration. After switching media, call update with chapters appropriate to the new duration; initialization listens to metadata once.
Maintenance
The implementation is currently in src/index.js, styles in src/style.less, and public declarations
in types/artplayer-plugin-chapter.d.ts. Its migration contracts and known defects are recorded in
the chapter contract.
Run yarn test:browser chapter.spec.js for published/current plugin behavior on the published core.
Run yarn typecheck and yarn test:baseline for strict consumer checks, including optional factory
arguments and invalid data. yarn build:ts regenerates the online editor declarations.
License
MIT © Harvey Zhao