Files
ArtPlayer/packages/artplayer-plugin-chapter

artplayer-plugin-chapter

chapter plugin for ArtPlayer

Demo

https://artplayer.org

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