mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-08 10:56:15 -08:00
- Created a new documentation file for the danmuku plugin with code examples. - Added a comprehensive guide for language settings (i18n) including default languages, importing languages, adding new languages, and modifying existing languages. - Included code snippets for initializing the Artplayer with different language settings. feat: implement safe area insets for improved video rotation handling feat: add console log for safe area insets in autoOrientation plugin feat: enhance mobile meta tags for better web app support
15 KiB
15 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
- Fix safe area issue when enter web fullscreen #1033
[5.4.0] - 2026-03-12
- Refactor
ParceltoVite - Change
Artplayer.FULLSCREEN_WEB_IN_BODYdefaults totrue - The
resetmethod is used to reset video request - Fix #1014
- Fix #1023
- Fix #1028
- Add
artplayer-plugin-jassubplugin - Add
artplayer-proxy-mediabunnyplugin - Add
artplayer-plugin-audio-trackplugin - Add
artplayer-plugin-asrplugin - Add
artplayer-plugin-danmuku-maskplugin - Deprecate
artplayer-plugin-libassplugin - Prevent
Hint.cssfrom polluting global styles
[5.3.0] - 2025-09-06
- Rename
.esm.jsto.mjs - Remove the default
fillcolor value ofsvg - Optimize the
autoOrientationlogic - Add
Artplayer.REMOVE_SRC_WHEN_DESTROY - Add
artplayer-plugin-document-pipplugin - Add
art.events.bindGlobalEventsmethod for rebinding global methods - Optimize
artplayer.d.ts, now you can directly importOption
import type { Option } from 'artplayer'
const option: Option = {
container: '.artplayer-app',
url: './assets/sample/video.mp4',
}
- Simplify
i18nimport
import fr from 'artplayer/i18n/fr'
import id from 'artplayer/i18n/id'
const option = {
container: '.artplayer-app',
url: './assets/sample/video.mp4',
i18n: { id, fr },
lang: 'fr',
}
[5.2.5] - 2025-08-01
- Add
ESMversion for all packages, such asartplayer/dist/artplayer.esm.js - Recognize
globalThis.CUSTOM_USER_AGENTglobal variable for customizingnavigator.userAgent - Fix missing
mountparameter when initializingartplayer-plugin-danmuku
[5.2.3] - 2025-04-20
- Add Vietnamese
vi - Clear the
video.srcproperty on destroy - Add
onClickoption forSetting - Fix style loading failure of danmuku and chapter plugins when the page has no head tag
- Add
gestureoption to enable or disable gesture events on mobilevideoelement
[5.2.2] - 2025-01-19
- Fix thumbnail crossover issue
- Fix style loading failure when the page has no head tag
- Add slider support in subtitle plugin settings panel for mobile dragging
- Fix positioning error of settings panel when rotating screen
- Fix classname switching error when fullscreen state changes
[5.2.1] - 2024-10-26
- Refactor
Settingcomponent, fix state loss issue - For
Settingof typerange, callback now returns an array of numbers instead of a single number - Remove
isStringOrNumberutility function - Fix inconsistent state issue in
artplayer-plugin-hls-control - Deprecate
artplayer-plugin-dash-qualityplugin - Add new
artplayer-plugin-dash-controlplugin - Use
codeinstead of deprecatedkeyCodefor keyboard events - Add
keydownevent to listen forkeydownfromdocument
[5.2.0] - 2024-10-19
- Add
option.proxyfor proxying third-partyvideoandcanvas - Add
artplayer-proxy-canvasproxy, enabling video playback viacanvas - Add
option.thumbnails.scalefor preview image scaling - Fix bug where changing
art.urldidn’t triggerautoPlayback: #797 - Add
art.subtitle.cuesproperty for retrieving all subtitle list - Add
art.subtitle.activeCuesproperty for retrieving active subtitles - Add
subtitleBeforeUpdateevent triggered before subtitle element rendering - Change
subtitleUpdateevent tosubtitleAfterUpdate, triggered after subtitle element rendering - Optimize trigger timing and callback parameters of
subtitleLoadevent - Remove
subtitleSwitchevent; usesubtitleLoadinstead - Upgrade
artplayer-plugin-hls-qualitytoartplayer-plugin-hls-control - Add
artplayer-plugin-ambilightplugin - Fix
thumbnailsdisplay bug
[5.1.7] - 2024-08-15
- Add
Artplayer.STYLEproperty to return player style text art.screenshot('your-name')now supports custom file names- When
Artplayer.CONTEXTMENUisfalse, default context menu is no longer hidden - Add
art.thumbnailsproperty for dynamically settingthumbnails
[5.1.6] - 2024-06-15
- Optimize
setBarevent - Add
artplayerPluginChapterplugin - Add
art.plugins.artplayerPluginDanmuku.load(target)parameter for appending danmuku library - Add
widthoption to danmuku plugin; when player width is smaller than this, danmuku sender is placed at the bottom - Fix
artplayerPluginVttThumbnailnot displaying on mobile - Fix danmuku plugin style and percentage font-size bug
thumbnailsare now visible on mobile too- Restore
screen.orientation.lockfunctionality
[5.1.5] - 2024-06-01
- Refactor
artplayerPluginDanmukuplugin - Add
artplayerPluginChromecastplugin - Add
fullscreenErrorevent - Optimize double-click event: #728
- Fix delayed display of
thumbnails - Add
art.plugins.lock.state = true/falsefor manually controllinglockstate - Control bar no longer auto-hides when mouse is on it or when settings panel is open
- Remove
screen.orientation.lockdue to compatibility issues - Fix
fullscreenbug on mobile
[5.1.1] - 2024-01-11
- Plugin functions now support both synchronous and asynchronous returns
[5.1.0] - 2023-12-23
- Plugin functions now support async return
- Player will no longer be destroyed after reaching error limit for playback address
- Split language files, core no longer bundles multiple languages Language Settings
- Updating components now supports updating only specified fields pull/549
- Add
mutedevent triggered when mute state changes - Add
Artplayer.LOG_VERSIONglobal config to control whether to print player version (defaulttrue) - Add
Artplayer.USE_RAFglobal config to control whether to userequestAnimationFrame(defaultfalse), currently for smooth progress bar effect - Remove default styles
margin:0;padding:0;to avoid conflicts with third-party libraries - Subtitle line changed from
ptodivtag, with classnameart-subtitle-line - On mobile, tapping video toggles control bar display
- Remove
art.loopinterval playback feature (not commonly used) - Subtitle track now has
labelattribute to display subtitle names on mobile - Add utility functions
unescape,isBrowser,setStyleText - Add
artplayerPluginMultipleSubtitlesplugin for merged subtitle files: demo - Modify mini progress bar display
[5.0.9] - 2023-05-14
- Fix
art.autoOrientationstyle bug - Remove animation effect of player container
[5.0.8] - 2023-05-13
- Fix conflict of
art.mini - Fix animation bug of
art.aspectRatio
[5.0.7] - 2023-05-13
- Switching via
switchUrlorswitchQualitypreserves existing adjustments such asaspectRatio,playbackRate,flip,autoSize - Remove the second
nameparameter fromswitchUrlandswitchQuality - Add
isIOS13utility to fix inaccurateisMobiledetection on iOS 13+ art.autoSizeandart.autoHeightare now methods:art.autoSize()andart.autoHeight()- Add new property
art.qualityfor dynamically updating quality list - Fix incorrect
art.aspectRatioproperty - Add
art.switchsetter property, same asart.switchUrlmethod
[5.0.6] - 2023-05-03
- Fix style bug of settings panel
[5.0.5] - 2023-05-03
- Add
heatmapoption to danmuku plugin for enabling heatmap (default: off) - Fix English subtitle line break style bug
- Fix settings panel style bug
- Remove unnecessary global properties
- Remove
titleoption (not useful now) - Remove
whitelistoption (not useful now)
[5.0.4] - 2023-04-27
- Fix controller dropdown list style bug
[5.0.3] - 2023-04-26
- Fix
event.pageYvalue error in volume controller - Update build config,
artplayer.legacy.jsnow compatible with IE 11
[5.0.2] - 2023-04-24
- Fix style compatibility issue of control bar position
[5.0.1] - 2023-04-24
- Fix web fullscreen style bug
- Fix built-in settings text error
[5.0.0] - 2023-04-23
- Rewrite volume controller
- Fix incorrect progress drag angle on mobile
- Rewrite
minimode, now video detaches from original container - All components (layers, controller, contextmenu, settings panel) support dynamic deletion and updating
- Subtitle option adds
onVttLoadfor modifying vtt text before output - Rewrite all styles, add many
cssvariables - Add
cssVaroption for initializingcssvariables - Add
cssVarmethod for getting/settingcssvariables artplayer-plugin-hls-qualityaddsgetResolutionfunction option for getting resolution text from level- Add
artplayer-plugin-dash-qualityplugin for adding Dash quality list to player - Fix
lockandloopevent issues - Add Russian
ruand Indonesianidlanguages - Update
artplayer-plugin-controlforartplayer@5.0.0 - Update
artplayer-plugin-dash-qualityforartplayer@5.0.0 - Update
artplayer-plugin-hls-qualityforartplayer@5.0.0 - Update
artplayer-plugin-danmukuforartplayer@5.0.0
[4.6.2] - 2023-01-26
- Default
Artplayer.PROGRESS_HEIGHTchanged to6 - Add
artplayer-plugin-vtt-thumbnailto generate video preview images from vtt subtitle files - Add
Artplayer.FULLSCREEN_WEB_IN_BODYfor whether to mount player todocument.bodyin web fullscreen (defaultfalse) - Change subtitle offset adjustment to slider
- Subtitle option adds
escape(defaulttrue) for HTML escaping
[4.6.1] - 2023-01-11
- Write brand new docs
- Optimize
d.ts - Remove redundant events
- Optimize some styles
- Add
i18noption
[4.6.0] - 2022-12-31
- Optimize style effects of control bar icons
- Optimize style effects of settings panel
- Fix incorrect
art.fullscreenstate detection - Add
artplayer-plugin-controlplugin to change control bar style
[4.5.12] - 2022-11-20
- Fix
art.loop = []display bug
[4.5.11] - 2022-11-06
- Add
Artplayer.CONTEXTMENUfor controlling whether to show contextmenu (defaulttrue) - Whitelist function default
trueon mobile, all devices use player UI
[4.5.10] - 2022-11-05
- Fix subtitle not showing in Firefox: #pull/415
- Info popup supports clicking to select video property text
[4.5.9] - 2022-11-05
- Add
art.typeproperty to get/set video type - Add
art.videoproperty to get video element - Add
artplayer-tool-iframeplugin to control player inside iframe - Add
artplayer-plugin-hls-qualityplugin for adding Hls quality list - Add
Artplayer.PLAYBACK_RATEfor default playback rates[0.5, 0.75, 1, 1.25, 1.5, 2] - Add
Artplayer.ASPECT_RATIOfor default ratios['default','4:3','16:9'] - Add
Artplayer.FLIPfor default flip options['normal','horizontal','vertical'] - Add
Artplayer.PROGRESS_HEIGHT(default:4) - Add
legacy.jsversion for older browsers (larger size) - Remove
examplesdir, no longer provide Vue/React examples
[4.5.8] - 2022-10-09
- Add Farsi language
- Add
Artplayer.DEBUG(defaultfalse) for debug logs - Add
art.setting.update()for dynamic settings update - Optimize
artplayer.d.ts
[4.5.7] - 2022-09-28
- Add
Artplayer.VOLUME_STEPfor controlling volume step (default0.1) - Add
Artplayer.SEEK_STEPfor controlling seek step (default5s) - Fix some svg icons not showing on mobile
- Fix desktop progress bar cannot click+drag simultaneously
- Fix mobile progress bar cannot click+drag
- Add
art.isRotateproperty for detecting auto fullscreen rotation - Settings panel
rangeaddsonChangeoption for real-time values
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
settings: [
{
html: 'Slider',
tooltip: '5x',
range: [5, 1, 10, 0.1],
onChange: function (item) {
return item.range + 'x';
},
},
],
});
[4.5.6] - 2022-09-19
- Fix hls.js not working in Safari
[4.5.5] - 2022-09-19
- Ad plugin adds
option.mutedfor autoplay muted ads - Danmuku plugin exposes
art.plugins.artplayerPluginDanmuku.reset()to clear display - Danmuku plugin exposes
art.plugins.artplayerPluginDanmuku.optionfor current config - Fix subtitle bug in iOS fullscreen
- Add Spanish
es
[4.5.4] - 2022-08-01
Added
- Add
Artplayer.AUTO_PLAYBACK_MINfor min playback memory value (default5s) - Add
Artplayer.TOUCH_MOVE_RATIOfor mobile progress drag ratio (default0.5) option.thumbnailsadds optionalwidth/height- Add
option.idfor unique playback memory identifier
[4.5.3] - 2022-07-13
Added
urloption allows empty string for asyncart.url
const art = new Artplayer({
url: '',
container: '.artplayer-app',
});
setTimeout(() => {
art.url = '/assets/sample/video.mp4';
}, 1000);
art.play()always returns Promise;playevent is async
const art = new Artplayer({
url: '/assets/sample/video.mp4',
container: '.artplayer-app',
});
art.on('ready', async () => {
try {
await art.play();
console.log('Play success');
} catch (error) {
console.log('Play failed', error.message);
}
});
- Add
airplay(only Safari)
const art = new Artplayer({
url: '/assets/sample/video.mp4',
container: '.artplayer-app',
airplay: true,
});
[4.5.2] - 2022-06-22
- Optimize auto-playback to allow user choice
[4.5.0] - 2022-06-21
- Remove built-in ads
- Add ad plugin
[4.4.7] - 2022-06-13
- Support danmuku lib d.ts
- Update deps
[4.4.6] - 2022-06-11
- Add danmuku lib d.ts
- Adjust subtitle font-size param
- Optimize regex parsing of xml danmuku
[4.4.5] - 2022-06-02
- Fix theme color missing in mini mode
[4.4.3] - 2022-05-26
- Fix custom mounted input residual on danmuku destroy
- Fix mini mode size calculation error
[4.4.2] - 2022-05-20
- Remove UI init
video:loadedmetadataevent - Danmuku exposes
loadfor switching sources - Add error icon after video load error limit
- Fix multiple init of setting panel bug
[4.4.1] - 2022-05-17
- Add
art.isInput, when true control bar won’t auto-hide (e.g. typing danmuku) - Add
art.isLock, when true on mobile prevents seek/play/pause - Fix fixed width bug of danmuku input box
- Settings panel supports
rangeandonRange - Add
isAndroidandisIOSutils - Danmuku adds
lockTime,maxLength,minWidth,maxWidth,mount,beforeEmit,theme
[4.4.0] - 2022-05-15
- Settings panel supports
switchandonSwitch - Danmuku plugin adds settings panel and send
- Danmuku adds default mode and font-size
- Danmuku font-size supports percentage of player
- Fix flip icon missing
- Player with focus won’t auto-hide control bar
- Remove subtitle toggle button (manual config required)