diff --git a/packages/artplayer-document/docs/zh-cn/Advance.md b/packages/artplayer-document/docs/zh-cn/Advance.md new file mode 100644 index 000000000..57660533c --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Advance.md @@ -0,0 +1,442 @@ +--- +title: 高级属性 +sidebar_position: 4 +slug: /zh-cn/advance +--- + +:::tip 提示 + +这页面是对常用属性的一些额外补充,需要深入开发自定义功能时才需要阅读 + +::: + +## id + +- 类型: `Number` + +播放器实例的一个自增编号 + +## option + +- 类型: `Object` + +播放器实例的参数对象 + +## isFocus + +- 类型: `Boolean` + +播放器实例是否获得了焦点,如最后被用户点击过 + +## isDestroy + +- 类型: `Boolean` + +播放器实例是否被销毁 + +## userAgent + +- 类型: `Boolean` + +等于 `window.navigator.userAgent` + +## isMobile + +- 类型: `Boolean` + +当前环境是否移动设备 + +## isWechat + +- 类型: `Boolean` + +当前环境是否微信设备 + +## whitelist + +- 类型: `Object` + +管理白名单的对象 + +## template + +- 类型: `Object` + +管理播放器 `Html` 的对象 + +## storage + +- 类型: `Object` + +管理持久化存储的对象 + +## icons + +- 类型: `Object` + +管理图标的对象 + +## i18n + +- 类型: `Object` + +管理多语言的对象 + +## player + +- 类型: `Object` + +管理核心功能的对象 + +## subtitle + +- 类型: `Object` + +管理字幕的对象 + +## info + +- 类型: `Object` + +管理统计信息的对象 + +## layers + +- 类型: `Object` + +管理业务层的对象 + +属性 `show` 可以控制全部图层是否显示 + +
▶ Run Code
+ +```js +var img = '/assets/sample/layer.png'; +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + layers: [ + { + html: ``, + style: { + position: 'absolute', + top: '20px', + right: '20px', + opacity: '.9', + }, + }, + ], +}); + +art.on('ready', () => { + setTimeout(() => { + art.layers.show = false; + }, 3000); +}) +``` + +方法 `add` 可以动态添加业务层,更多信息请访问 [自定义组件的使用](/document/zh-cn/Questions/component) + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +var img = '/assets/sample/layer.png'; +art.on('ready', () => { + setTimeout(() => { + art.layers.add({ + html: ``, + style: { + position: 'absolute', + top: '20px', + right: '20px', + opacity: '.9', + }, + }); + }, 3000); +}) +``` + +## notice + +- 类型: `Object` + +管理提示信息的对象 + +属性 `show` 输出自定义提示信息,默认停留时间为两秒,且新的信息会马上覆盖旧的信息 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.notice.show = '自定义提示信息1'; + art.notice.show = '自定义提示信息2'; +}) +``` + +## controls + +- 类型: `Object` + +管理业务层的对象 + +属性 `show` 可以控制控制栏是否显示 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + setTimeout(() => { + art.controls.show = false; + }, 3000); +}) +``` + +方法 `add` 可以动态添加控制器,更多信息请访问 [自定义组件的使用](/document/zh-cn/Questions/component) + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + setTimeout(() => { + art.controls.add({ + position: 'right', + index: 10, + html: '自定义按钮', + tooltip: '自定义按钮的提示', + click: function () { + console.log('你点击了自定义按钮'); + }, + }); + }, 3000); +}) +``` + +## contextmenu + +- 类型: `Object` + +管理右键菜单的对象 + +属性 `show` 可以控制菜单是否显示 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.contextmenu.show = true; + setTimeout(() => { + art.contextmenu.show = false; + }, 3000); +}) +``` + +方法 `add` 可以动态添加菜单项,更多信息请访问 [自定义组件的使用](/document/zh-cn/Questions/component) + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.contextmenu.show = true; + setTimeout(() => { + art.contextmenu.add({ + html: '自定义菜单', + click: function () { + console.info('你点击了自定义菜单'); + art.contextmenu.show = false; + }, + }); + }, 3000); +}) +``` + +## loading + +- 类型: `Object` + +管理提示信息的对象 + +属性 `show` 可以控制菜单是否加载层 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.loading.show = true; + setTimeout(() => { + art.loading.show = false; + }, 3000); +}) +``` + +## mask + +- 类型: `Object` + +管理遮罩层的对象 + +属性 `show` 可以控制遮罩层是否加载层 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.mask.show = true; + setTimeout(() => { + art.mask.show = false; + }, 3000); +}) +``` + +## hotkey + +- 类型: `Object` + +管理快捷键的对象 + +方法 `add` 可以动态添加快捷键,第一个参数是 `key code` 数字,第二个参数是回调函数 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.hotkey.add(65, () => { + console.info('你点击了 A 键') + }) + + art.hotkey.add(66, () => { + console.info('你点击了 B 键') + }) +}) +``` + +:::tip 提示 + +只在播放器获得焦点后(如点击了播放器后),该快捷键才会生效 + +::: + +## setting + +- 类型: `Object` + +管理设置面板的对象 + +属性 `show` 可以控制设置面板是否显示 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + autoSize: true, +}); + +art.on('ready', () => { + art.seek = 20; + art.setting.show = true; + setTimeout(() => { + art.setting.show = false; + }, 3000); +}) +``` + +方法 `add` 可以动态添加设置项,更多信息请访问 [自定义组件的使用](/document/zh-cn/Questions/component) + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + setting: true, + autoSize: true, +}); + +art.on('ready', () => { + art.seek = 20; + art.setting.show = true; + art.setting.add({ + html: '自定义设置', + click: function () { + console.info('你点击了自定义设置'); + art.setting.show = false; + }, + }); +}) +``` + +## plugins + +- 类型: `Object` + +管理插件的对象 + +方法 `add` 可以动态添加插件,更多信息请访问 [自定义插件的使用](/document/zh-cn/Questions/plugin) + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.plugins.add(function myPlugin(art) { + console.info('myPlugin running...'); + return { + something: 'something', + doSomething: function () { + console.info('Do something here...'); + }, + }; + }); +}) +``` \ No newline at end of file diff --git a/packages/artplayer-document/docs/zh-cn/Class.md b/packages/artplayer-document/docs/zh-cn/Class.md index 243e238c1..2b737b860 100644 --- a/packages/artplayer-document/docs/zh-cn/Class.md +++ b/packages/artplayer-document/docs/zh-cn/Class.md @@ -1,5 +1,5 @@ --- title: 静态属性 -sidebar_position: 5 +sidebar_position: 6 slug: /zh-cn/class --- diff --git a/packages/artplayer-document/docs/zh-cn/Events.md b/packages/artplayer-document/docs/zh-cn/Events.md index 2758638d2..6cc4c18c9 100644 --- a/packages/artplayer-document/docs/zh-cn/Events.md +++ b/packages/artplayer-document/docs/zh-cn/Events.md @@ -1,5 +1,5 @@ --- title: 实例事件 -sidebar_position: 4 +sidebar_position: 5 slug: /zh-cn/events --- diff --git a/packages/artplayer-document/docs/zh-cn/Libraries.md b/packages/artplayer-document/docs/zh-cn/Libraries.md index 66e1010e0..472b9d0f3 100644 --- a/packages/artplayer-document/docs/zh-cn/Libraries.md +++ b/packages/artplayer-document/docs/zh-cn/Libraries.md @@ -1,5 +1,5 @@ --- title: 第三方库 -sidebar_position: 6 +sidebar_position: 7 slug: /zh-cn/libraries --- diff --git a/packages/artplayer-document/docs/zh-cn/Properties.md b/packages/artplayer-document/docs/zh-cn/Properties.md index 534bf8005..2b4ea043e 100644 --- a/packages/artplayer-document/docs/zh-cn/Properties.md +++ b/packages/artplayer-document/docs/zh-cn/Properties.md @@ -1,5 +1,5 @@ --- -title: 实例属性 +title: 常用属性 sidebar_position: 3 slug: /zh-cn/propertie --- @@ -181,6 +181,56 @@ art.on('ready', () => { }) ``` +## switchUrl + +- 类型: `Function` +- 参数: `String` + +设置视频地址,设置时和 `url` 类似,但会执行一些优化操作 + +函数支持两个参数,第一个为新的视频地址,第二个为新的视频名字 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.seek = 10; + setTimeout(() => { + art.switchUrl('/assets/sample/video.mp4?t=0', '新视频地址'); + }, 3000); +}) +``` + +## switchQuality + +- 类型: `Function` +- 参数: `String` + +设置视频画质地址,和 `switchQuality` 类似,但会带上之前的播放进度 + +函数支持两个参数,第一个为新的视频地址,第二个为新的视频名字 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.seek = 10; + setTimeout(() => { + art.switchQuality('/assets/sample/video.mp4?t=0', '新视频地址'); + }, 3000); +}) +``` + ## muted - 类型: `Setter/Getter` @@ -514,41 +564,139 @@ art.on('ready', () => { ::: -```js -[ - "option", - "isFocus", - "isDestroy", - "userAgent", - "isMobile", - "isWechat", - "whitelist", - "template", - "events", - "storage", - "icons", - "i18n", - "notice", +## flip - "flip", - "loop", - "rotate", - "switchQuality", - "switchUrl", - "playbackRate", - "aspectRatio", - - "player", - "layers", - "controls", - "contextmenu", - "subtitle", - "info", - "loading", - "hotkey", - "mask", - "setting", - "plugins", - "id" -] +- 类型: `Setter/Getter` +- 参数: `String` + +设置和获取播放器翻转,支持`normal`、 `horizontal`、 `vertical` + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + console.info(art.flip) + art.flip = 'horizontal' + console.info(art.flip) +}) +``` + +## rotate + +- 类型: `Setter/Getter` +- 参数: `Number` + +设置和获取播放器旋转,支持 `-270`、`-180`、`-90`、`0`、`90`、`180`、`270` + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', + autoSize: true, +}); + +art.on('ready', () => { + console.info(art.rotate) + art.rotate = 90 + console.info(art.rotate) +}) +``` + +## playbackRate + +- 类型: `Setter/Getter` +- 参数: `Number` + +设置和获取播放器播放速度,支持`0.5`、`0.75`、`1.0`、`1.25`、`1.5`、`1.75`、`2.0` + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + console.info(art.playbackRate) + art.playbackRate = 2 + console.info(art.playbackRate) +}) +``` + +## aspectRatio + +- 类型: `Setter/Getter` +- 参数: `String` + +设置和获取播放器长宽比,支持`default`、`4:3`、`16:9` + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + console.info(art.aspectRatio) + art.aspectRatio = '16:9' + console.info(art.aspectRatio) +}) +``` + +## loop + +- 类型: `Setter/Getter` +- 参数: `Array` + +设置和获取区间循序播放,单位秒 + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + console.info(art.loop) + art.loop = [5, 10]; + console.info(art.loop) +}) +``` + +:::tip 提示 + +删除区间循环播放,只需要设置 `loop` 为 `[]` 即可 + +::: + +## destroy + +- 类型: `Function` +- 参数: `Boolean` + +销毁播放器,接受一个参数表示是否销毁后同时移除播放器的 `html`,默认为 `true` + +
▶ Run Code
+ +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '/assets/sample/video.mp4', +}); + +art.on('ready', () => { + art.destroy(); +}) ``` \ No newline at end of file