# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] - 新增 `option.proxy` 选项,用于代理第三方的 `video` 和 `canvas` - 新增 `artplayer-proxy-canvas` 代理 - 新增 `artplayer-proxy-webav` 代理,来自 [bilibili/WebAV](https://github.com/bilibili/WebAV) - 新增 `option.thumbnails.scale`, 用于预览图缩放 - 修复更改 `art.url` 不能触发 `autoPlayBack` 的 `bug`: [#797](https://github.com/zhw2590582/ArtPlayer/issues/797) ## [5.1.7] - 2024-8-15 - 新增 `Artplayer.STYLE` 属性,返回播放器样式文本 - `art.screenshot('your-name')` 截图功能支持自定义文件名字 - `Artplayer.CONTEXTMENU` 为 `false` 时,不再隐藏默认右键菜单 - 新增 `art.thumbnails` 属性,用于动态设置 `thumbnails` ## [5.1.6] - 2024-6-15 - 优化 `setBar` 事件 - 新增 `artplayerPluginChapter` 插件 - 新增 `art.plugins.artplayerPluginDanmuku.load(target)` 参数,用于追加弹幕库 - 新增弹幕插件的 `width` 选项参数,当播放器宽度小于此值时,弹幕发射器置于播放器底部 - 修复 `artplayerPluginVttThumbnail` 在移动端不显示的问题 - 修复弹幕插件样式,和字号百分比显示的 `bug` - 移动端也可以看到 `thumbnails` 了 - 恢复 `screen.orientation.lock` 功能 ## [5.1.5] - 2024-6-1 - 重构 `artplayerPluginDanmuku` 插件 - 新增 `artplayerPluginChromecast` 插件 - 添加 `fullscreenError` 事件 - 优化双击事件: [#728](https://github.com/zhw2590582/ArtPlayer/pull/728) - 修复 `thumbnails` 延迟显示问题 - 新增 `art.plugins.lock.state = true/false`, 用于手动控制 `lock` 状态 - 当鼠标在控制栏上,或者打开了设置面板,控制栏不再自动隐藏 - 由于兼容性不足,删除 `screen.orientation.lock` 功能 - 修复移动端的 `fullscreen` bug ## [5.1.1] - 2024-1-11 - 插件函数支持同步和异步返回 ## [5.1.0] - 2023-12-23 - 插件函数改为支持异步返回 - 当播放地址发生错误到达上限后,不会再主动销毁播放器 - 分离语言文件,核心代码不再捆绑多国语言 [语言设置](https://artplayer.org/document/start/i18n.html) - 更新组件时,支持填写只更新的字段 [pull/549](https://github.com/zhw2590582/ArtPlayer/pull/549) - 添加 `muted` 事件,当静音的状态变化时触发 - 添加 `Artplayer.LOG_VERSION` 全局配置,设置是否打印播放器版本,默认为 `true` - 添加 `Artplayer.USE_RAF` 全局配置,设置是否使用 `requestAnimationFrame` ,默认为 `false`,目前主要用于进度条的平滑效果 - 移除默认样式 `margin:0;padding:0;`,因为容易与第三方库起样式冲突,导致难以覆写 - 字幕行从 `p` 标签改为 `div` 标签,并且添加类名 `art-subtitle-line` - 在移动端,点击视频会切换控制栏的显示与隐藏 - 由于功能不常用,删除 `art.loop` 区间播放功能 - 字幕轨添加 `label` 属性,用于在移动设备上显示字幕名字 - 添加 `unescape`, `isBrowser`, `setStyleText` 工具函数 - 添加 `artplayerPluginMultipleSubtitles` 插件,用于显示合并后的字幕文件: [demo](https://www.artplayer.org/?libs=./uncompiled/artplayer-plugin-multiple-subtitles/index.js&example=multiple.subtitles) - 修改迷你进度条的显示方式 ## [5.0.9] - 2023-5-14 - 修复 `art.autoOrientation` 样式错误问题 - 移除播放器容器的动画效果 ## [5.0.8] - 2023-5-13 - 修复 `art.mini` 的互斥关系 - 修复 `art.aspectRatio` 动画效果问题 ## [5.0.7] - 2023-5-13 - 使用 `switchUrl` 或者 `switchQuality` 方法切换地址后会保持原有的调整如:`aspectRatio`, `playbackRate`, `flip`, `autoSize` - 删除 `switchUrl` 方法和 `switchQuality` 方法的第二个 `name` 参数 - 添加 `isIOS13` 工具,用于修复在 `IOS13` 以上版本的设备上的 `isMobile` 判断不准确的问题 - `art.autoSize` 和 `art.autoHeight` 改为方法的形式调用,即 `art.autoSize()` 和 `art.autoHeight()` - 添加新的属性 `art.quality`,用于动态更新画质列表 - 修复 `art.aspectRatio` 属性不正确的问题 - 添加 `art.switch` Setter 属性, 功能和 `art.switchUrl` 方法一样 ## [5.0.6] - 2023-5-3 - 修复设置面板的样式错误 ## [5.0.5] - 2023-5-3 - 弹幕插件添加 `heatmap` 选项,用于是否开启热度图,默认为关闭 - 修复英文字幕换行的样式错误 - 修复设置面板的样式错误 - 移除多余的全局属性 - 移除 `title` 选项,因为目前用处不大 - 移除 `whitelist` 选项,因为目前用处不大 ## [5.0.4] - 2023-4-27 - 修复控制器的上拉列表的样式 bug ## [5.0.3] - 2023-4-26 - 修复音量控制器 `event.pageY` 取值错误 - 修改构建配置,`artplayer.legacy.js` 可以兼容到 `IE 11` ## [5.0.2] - 2023-4-24 - 修复控制栏位置的样式兼容问题 ## [5.0.1] - 2023-4-24 - 修复网页全屏的样式错误 - 修改内置设置项的文本错误 ## [5.0.0] - 2023-4-23 - 重写了音量控制器 - 修复在移动端下,进度拖动的角度不正确的问题 - 重写了 `mini` 模式,现在这个模式下,视频会脱离原来的容器 - 全部组件(层,控制器,右键菜单,设置面板)支持动态删除和动态更新 - 字幕选项添加了 `onVttLoad` 方法,用于在字幕输出前修改 `vtt` 文本 - 重写了全部样式,添加了许多 `css` 变量 - 添加 `cssVar` 选项,用于初始化 `css` 变量 - 添加 `cssVar` 方法,用于设置和获取 `css` 变量 - 插件 `artplayer-plugin-hls-quality` 添加 `getResolution` 函数选项,用于获取从 `level` 中分辨率的文本 - 新增 `artplayer-plugin-dash-quality` 插件,用于添加 `Dash` 画质列表到播放器 - 修复 `lock` 和 `loop` 事件失效问题 - 添加俄语 `ru` 和印度尼西亚 `id` 语言 - 更新 `artplayer-plugin-control`,用于兼容`artplayer@5.0.0` - 更新 `artplayer-plugin-dash-quality`,用于兼容`artplayer@5.0.0` - 更新 `artplayer-plugin-hls-quality`,用于兼容`artplayer@5.0.0` - 更新 `artplayer-plugin-danmuku`,用于兼容`artplayer@5.0.0` ## [4.6.2] - 2023-1-26 - `Artplayer.PROGRESS_HEIGHT` 默认值改为 `6` - 添加 `artplayer-plugin-vtt-thumbnail` 用于使用 `vtt` 字幕文件生成视频预览图 - 添加 `Artplayer.FULLSCREEN_WEB_IN_BODY` 用于网页全屏时,是否把播放器挂载于 `document.body` 上,默认为 `false` - 修改字幕偏移的方式为滑块 - 字幕选项添加 `escape`,用于是否转义 `html` 标签,默认为 `true` ## [4.6.1] - 2023-1-11 - 编写全新的文档 - 优化`d.ts` - 移除多余的事件 - 优化部分样式 - 添加`i18n`选项 ## [4.6.0] - 2022-12-31 - 优化控制栏图标的样式效果 - 优化设置面板的样式效果 - 修复 `art.fullscreen` 监听状态错误的问题 - 添加 `artplayer-plugin-control` 插件,用于改变控制栏样式 ## [4.5.12] - 2022-11-20 - 修复 `art.loop = []` 的显示 `bug` ## [4.5.11] - 2022-11-6 - 新增 `Artplayer.CONTEXTMENU` 用于设置是否显示右键菜单,默认为 `true` - 移动设备 `Whitelist` 功能默认为 `true`,即全部移动设备都使用播放器 `UI` ## [4.5.10] - 2022-11-5 - 修复字幕在 `firefox` 不显示的问题:[#pull/415](https://github.com/zhw2590582/ArtPlayer/pull/415) - 信息弹窗支持点击选中视频属性文本值 ## [4.5.9] - 2022-11-5 - 添加 `art.type` 属性,用于获取和设置视频类型 - 添加 `art.video` 属性,用于获取 `video` 元素 - 添加 `artplayer-plugin-iframe` 插件,用于控制 `iframe` 里的播放器 - 添加 `artplayer-plugin-hls-quality` 插件,用于添加 `Hls` 画质列表到播放器 - 新增 `Artplayer.PLAYBACK_RATE` 用于设置默认播放速度,默认 `[0.5, 0.75, 1, 1.25, 1.5, 2]` - 新增 `Artplayer.ASPECT_RATIO` 用于设置默认长宽比,默认 `['default', '4:3', '16:9']` - 新增 `Artplayer.FLIP` 用于设置默认翻转功能,默认 `['normal', 'horizontal', 'vertical']` - 新增 `Artplayer.PROGRESS_HEIGHT` 用于设置进度条高度,默认为 `4` - 添加 `legacy.js` 版本,用于兼容更老的浏览器,但相对体积较大 - 移除 `examples` 目录,不再提供 `vue.js` 和 `react.js` 的例子文件 ## [4.5.8] - 2022-10-9 - 添加 `farsi` 语言 - 新增 `Artplayer.DEBUG` 用于打印 `debug` 信息,默认为 `false` - 新增 `art.setting.update()` 用于动态更新设置面板 - 优化 `artplayer.d.ts` ## [4.5.7] - 2022-9-28 - 新增 `Artplayer.VOLUME_STEP` 用于控制调整 `音量` 的步长,默认为 `0.1` - 新增 `Artplayer.SEEK_STEP` 用于控制调整 `快进/快退` 的步长,默认为 `5` 秒 - 修复部分 `svg` 图标在移动端不显示的问题 - 修复在桌面端进度条不能同时点击和拖动的问题 - 修复在移动端进度条不能点击和拖动的问题 - 新增 `art.isRotate` 属性,用于识别是否自动全屏旋转 - 设置面板 `range` 添加 `onChange` 选项,可以实时获取当前值 ```js 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-9-19 - 修复 `hls.js` 在 `Safari` 播放失效的问题 ## [4.5.5] - 2022-9-19 - 广告插件添加 `option.muted` 选项,用于静音自动播放广告 - 弹幕库插件暴露 `art.plugins.artplayerPluginDanmuku.reset()` 方法,用于清空当前弹幕显示 - 弹幕库插件暴露 `art.plugins.artplayerPluginDanmuku.option` 属性,用于获取当前弹幕配置 - 修复在 `IOS` 全屏模式下,字幕失效的问题 - 添加 `es` 语言 ## [4.5.4] - 2022-8-1 ### Added - 新增 `Artplayer.AUTO_PLAYBACK_MIN` 用于控制最小可以记忆播放的进度值,默认为 `5` 秒 - 新增 `Artplayer.TOUCH_MOVE_RATIO` 用于控制移动端进度条拖放比例,默认为 `0.5` - `option.thumbnails` 添加可选的 `width` 和 `height` - 新增播放器编号选项 `option.id`,可用于记忆播放时的唯一标识 ## [4.5.3] - 2022-7-13 ### Added - `url` 选项允许传空字符串,可用于异步设置 `art.url` ```js const art = new Artplayer({ url: '', container: '.artplayer-app', }); setTimeout(() => { art.url = '/assets/sample/video.mp4'; }, 1000); ``` - `art.play()` 方法统一返回 `Promise`, `play` 事件也改为异步触发 ```js const art = new Artplayer({ url: '/assets/sample/video.mp4', container: '.artplayer-app', }); art.on('ready', async () => { try { await art.play(); console.log('播放成功'); } catch (error) { console.log('播放失败', error.message); } }); ``` - 新增 `airplay` (隔空播放) 功能,当前只在 Safari 下可用 ```js const art = new Artplayer({ url: '/assets/sample/video.mp4', container: '.artplayer-app', airplay: true, }); ``` ## [4.5.2] - 2022-6-22 ### Added - 优化自动回放功能,让用户自行选择 ## [4.5.0] - 2022-6-21 ### Added - 移除内置广告功能 - 新增广告插件 ## [4.4.7] - 2022-6-13 ### Added - 兼容弹幕库 d.ts - 更新依赖库 ## [4.4.6] - 2022-6-11 ### Added - 添加弹幕库 d.ts - 调整字幕字体大小参数 - 优化正则解析 xml 弹幕 ## [4.4.5] - 2022-6-2 ### Added - 修复迷你模式时,主题色缺失的 bug ## [4.4.3] - 2022-05-26 ### Added - 修复弹幕库销毁时,自定义挂载输入框的残留 - 修复迷你模式的尺寸计算错误 ## [4.4.2] - 2022-05-20 ### Added - 移除播放器 UI 初始化的 video:loadedmetadata 事件 - 弹幕库暴露 load 方法,用于切换弹幕源 - 添加 error 图标,出现于视频加载错误达到上限后 - 修复 setting 多次初始化时产生的 bug ## [4.4.1] - 2022-05-17 ### Added - 添加 art.isInput 属性,当为 true 的时候不自动隐藏控制栏,如弹幕正在输入时 - 添加 art.isLock 属性,在移动端当为 true 的时候不能操作快进、开始和暂停 - 修复弹幕输入框的固定宽度 bug - 设置面板支持 range 和 onRange 选项 - 添加 isAndroid 和 isIOS 工具函数 - 弹幕库添加 lockTime 选项,可自定义输入框的锁定时间 - 弹幕库添加 maxLength 选项,控制输入最大可输入字数 - 弹幕库添加 minWidth 选项,控制输入框最小宽度 - 弹幕库添加 maxWidth 选项,控制输入框最大宽度 - 弹幕库添加 mount 选项,控制输入框自定义挂载位置 - 弹幕库添加 beforeEmit 选项,控制弹幕发送前的校验 - 弹幕库添加 theme 选项,控制输入框自定义挂载的主题色 ## [4.4.0] - 2022-05-15 ### Added - 设置面板支持 switch 和 onSwitch 选项 - 弹幕库插件添加设置面板和弹幕发送 - 弹幕库的选项添加默认模式和默认字号 - 弹幕库字号支持按播放器的百分百 - 修复翻转设置的图标缺失 - 默认播放器获取了焦点后,不会自动隐藏控制栏 - 删除字幕开关按钮,需要自行配置字幕开关