Harvey Zhao 4681a8bc7a feat: enhance Artplayer type definitions and improve component interfaces
- Updated Artplayer class to specify environment as 'development' | 'production'.
- Refined template query method to return specific element types.
- Improved event proxy method to handle multiple event names.
- Enhanced storage get method to support both key retrieval and full record retrieval.
- Modified i18n interface to include language initialization and partial language records.
- Adjusted notice interface to provide a getter for show state and a setter for messages.
- Updated layers, controls, and contextmenu to allow undefined elements.
- Enhanced subtitle interface with initialization method.
- Refined hotkey methods to use KeyboardEvent instead of Event.
- Updated setting methods to return updated settings instead of arrays.
- Improved plugin method to return a promise.
- Added new events for video handling and refined existing event parameters.
- Enhanced option interface for proxy and plugins to support promises.
- Updated player interface to include reset method.
- Refined setting props to allow optional values.
- Enhanced template interface with additional control elements.
- Improved utils methods for querying and manipulating DOM elements.

fix: update type definitions for notice and subtitle properties, and refine event types

fix: remove unnecessary console warnings in event listener error handling

fix: refactor event listener management to use Set for better performance and error handling
2025-11-29 21:41:52 +08:00
2025-08-03 13:17:33 +08:00
2018-11-21 18:37:25 +08:00
2018-10-10 14:23:06 +08:00
2022-11-04 20:55:17 +08:00
2025-08-03 13:17:33 +08:00
2018-10-08 22:37:51 +08:00

logo

ArtPlayer.js

🎨 ArtPlayer.js is a modern and full featured HTML5 video player

Size Downloads Version License jsdelivr

・ Online Editor ・ API Document ・ Danmuku ・ Changelog ・ 🤖LLMs ・

screenshot

Home Page

https://artplayer.org

Mobile Demo

Features

ArtPlayer.js is an easy-to-use and feature-rich HTML5 video player, and most of the player's functional controls support customization, which makes it easy to connect with your business logic. In addition, it directly supports .vtt, .ass and .srt subtitle formats. Integration with other dependencies such as flv.js, hls.js, dash.js, etc. is also very simple. The code is highly decoupled, the structure and logic are clear, and it is easy to track errors and add new features.

Install

Install with npm:

$ npm install artplayer

Or install with yarn:

$ yarn add artplayer
import Artplayer from 'artplayer'

Or umd build also available:

<script src="path/to/artplayer.js"></script>

Or from CDN:

<!-- jsdelivr -->
<script src="https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js"></script>

<!-- unpkg -->
<script src="https://unpkg.com/artplayer/dist/artplayer.js"></script>

Will expose the global variable to window.Artplayer.

Usage

<div class="artplayer-app"></div>
let art = new Artplayer({
  container: '.artplayer-app',
  url: 'path/to/video.mp4',
})

Plugins

Libraries

Proxys

Changelog

CHANGELOG.md

Contributing

CONTRIBUTING.md

Donations

We accept donations through these channels:

pay

QQ Group

QQ Group

Powered by DartNode

License

MIT © Harvey Zack

Languages
JavaScript 89%
Less 9.8%
TypeScript 0.7%
Vue 0.3%
HTML 0.1%