高级属性 Permalink to "高级属性"
这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用
option Permalink to "`option`"
播放器的选项
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
console.info(art.option);
提示
假如直接修改这个 option 对象,播放器不会马上做出响应
template Permalink to "`template`"
管理播放器所有的 DOM 元素
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
console.info(art.template);
console.info(art.template.$video);
events Permalink to "`events`"
管理播放器所有的 DOM 事件,实质上是代理了 addEventListener 和 removeEventListener, 当使用以下方法来处理事件,播放器销毁时也会自动销毁该事件
proxy方法用于代理DOM事件hover方法用于代理自定义的hover事件
var container = document.querySelector('.artplayer-app');
var art = new Artplayer({
container: container,
url: '/assets/sample/video.mp4',
});
art.events.proxy(container, 'click', event => {
console.info('click', event);
});
art.events.hover(container, (event) => {
console.info('mouseenter', event);
}, (event) => {
console.info('mouseleave', event);
});
提示
假如你需要一些 DOM 事件只存在于播放器的生命周期上时,强烈建议使用这些函数,以避免造成内存泄漏
storage Permalink to "`storage`"
管理播放器的本地存储
name属性用于设置缓存的keyset方法用于设置缓存get方法用于获取缓存del方法用于删除缓存clear方法用于清空缓存
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.storage.set('test', { foo: 'bar' });
const test = art.storage.get('test');
console.info(test);
art.storage.del('test');
art.storage.clear();
提示
默认所有播放器实例都是共享同一个 localStorage 的,而且默认的 key 是 artplayer_settings
如果你想不同的播放器使用不同的 localStorage,你可以修改 art.storage.name 即可
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.storage.name = 'your-storage-key';
art.storage.set('test', { foo: 'bar' });
icons Permalink to "`icons`"
管理播放器所有的 svg 图标
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
console.info(art.icons.loading);
这是所有图标的定义:
i18n Permalink to "`i18n`"
管理播放器的 i18n
get方法用于获取i18n的值update方法用于更新i18n对象
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
console.info(art.i18n.get('Play'));
art.i18n.update({
'zh-cn': {
Play: 'Your Play'
}
});
WARNING
使用 art.i18n.update 只能更新实例化之后的 i18n,假如想在实例化之前更新 i18n,请使用基础选项的 i18n 来更新
notice Permalink to "`notice`"
管理播放器的提示语,只有一个 show 属性用于显示提示语
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', () => {
art.notice.show = 'Video Ready To Play';
})
WARNING
如果想马上隐藏 notice 的显示:art.notice.show = '';
layers Permalink to "`layers`"
管理播放器的层
add方法用于动态添加层remove方法用于动态删除层update方法用于动态更新层show属性用于设置是否显示全部层toggle方法用于切换是否显示全部层
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', () => {
art.layers.add({
html: 'Some Text',
});
setTimeout(() => {
art.layers.show = false;
}, 1000);
});
组件配置 请参考以下地址:
controls Permalink to "`controls`"
管理播放器的控制器
add方法用于动态添加控制器remove方法用于动态删除控制器update方法用于动态更新控制器show属性用于设置是否显示全部控制器toggle方法用于切换是否显示全部控制器
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', () => {
art.controls.add({
html: 'Some Text',
position: 'left',
});
setTimeout(() => {
art.controls.show = false;
}, 1000);
});
组件配置 请参考以下地址:
contextmenu Permalink to "`contextmenu`"
管理播放器的右键菜单
add方法用于动态添加菜单remove方法用于动态删除菜单update方法用于动态更新菜单show属性用于设置是否显示全部菜单toggle方法用于切换是否显示全部菜单
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', () => {
art.contextmenu.add({
html: 'Some Text',
});
art.contextmenu.show = true;
setTimeout(() => {
art.contextmenu.show = false;
}, 1000);
});
组件配置 请参考以下地址:
subtitle Permalink to "`subtitle`"
管理播放器的字幕功能
url属性设置和返回当前字幕地址style方法设置当前字幕的样式switch方法设置当前字幕地址和选项textTrack获取当前字幕轨activeCues获取当前活跃的字幕列表cues获取整体的字幕列表
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', () => {
art.subtitle.url = '/assets/sample/subtitle.srt'
art.subtitle.style({
color: 'red',
});
});
info Permalink to "`info`"
管理播放器的信息面板,常用于查看当前播放器和视频的运行状态,例如版本号、分辨率、时长等。
- 通过
art.info.show控制面板的显示与隐藏 - 触发的事件名为
info(详见事件文档)
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', () => {
art.info.show = true;
setTimeout(() => {
art.info.show = false;
}, 3000);
});
loading Permalink to "`loading`"
管理播放器的加载层
show属性用于设置是否显示加载层toggle属性用于切换是否显示加载层
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', () => {
art.loading.show = true;
setTimeout(() => {
art.loading.show = false;
}, 1000);
});
hotkey Permalink to "`hotkey`"
管理播放器的快捷键功能
add方法用于添加快捷键remove方法用于删除快捷键
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
function hotkeyEvent(event) {
console.info('click', event);
}
art.on('ready', () => {
art.hotkey.add(32, hotkeyEvent);
setTimeout(() => {
art.hotkey.remove(32, hotkeyEvent);
}, 5000);
});
提示
只在播放器获得焦点后(如点击了播放器后),这些快捷键才会生效
mask Permalink to "`mask`"
管理播放器的遮罩层
show属性用于设置是否显示遮罩层toggle属性用于切换是否显示遮罩层
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
art.on('ready', () => {
art.mask.show = false;
setTimeout(() => {
art.mask.show = true;
}, 1000);
});
setting Permalink to "`setting`"
管理播放器的设置面板
add方法用于动态添加设置项remove方法用于动态删除设置项update方法用于动态更新设置项show属性用于设置是否显示全部设置项toggle方法用于切换是否显示全部设置项
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
flip: true,
playbackRate: true,
aspectRatio: true,
subtitleOffset: true,
});
art.on('ready', () => {
art.setting.show = true;
setTimeout(() => {
art.setting.show = false;
}, 1000);
});
设置面板 请参考以下地址
plugins Permalink to "`plugins`"
管理播放器的插件功能,只有一个方法 add 用于动态添加插件
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});
function myPlugin(art) {
console.info(art);
return {
name: 'myPlugin',
something: 'something',
doSomething: function () {
console.info('doSomething');
},
};
}
art.on('ready', () => {
art.plugins.add(myPlugin);
});