安装
# 依赖于 chimee, 首先需要安装 chimee
npm install chimee
# 安装控制条组件
npm install chimee-plugin-controlbar
使用
import chimee from 'chimee';
import chimeePluginControlbar from 'chimee-plugin-controlbar';
// 安装插件
chimee.install(chimeePluginControlbar);
const player = new chimee({
// ...
// 使用插件
plugin: [
chimeePluginControlbar.name // 或者 'chimeeControl'
]
});
也可以在页面中引用 /lib/index.browser.js
然后在页面中使用 chimeePluginControlbar
一个配置 🌰 更详细的配置例子, 可以参考 /demo/index.html
plugin: [{
name: chimeePluginControlbar.name,
majorColor: '',
hoverColor: '',
children: {
volume: {
icon: {
low: '',
high: ''
},
layout: 'vertical'
}
}
}]
play
配置 🌰
{
// 可以传两个 icon 来切换播放暂停状态
icon: {
play: '',
pause: ''
},
// 当前是一个 svg path 动画,可以传 path 来实现你想要的动画
animate: {
path: {
play: {
left: ''
},
pause: {
left: ''
}
}
},
// 可以指定 event 来绑定一些事件,默认 this 是该插件,而不是 dom
event: {
click () {
console.log('');
}
}
}
progressTime
配置 🌰
{
// 可以指定 event 来绑定一些事件,默认 this 是该插件,而不是 dom
event: {
click () {
console.log('');
}
}
}
progressBar
配置 🌰
{
layout: 'top',
// 可以指定 event 来绑定一些事件,默认 this 是该插件,而不是 dom
event: {
click () {
console.log('');
}
}
}
volume
配置 🌰
volume: {
icon: {
low: ``,
mute: ``,
high: ``
},
layout: 'vertical',
// 可以指定 event 来绑定一些事件,默认 this 是该插件,而不是 dom
event: {
click () {
console.log('');
}
}
},
screen
配置 🌰
{
// 可以传两个 icon 来切换播放暂停状态
icon: {
full: '',
small: ''
},
// 可以指定 event 来绑定一些事件,默认 this 是该插件,而不是 dom
event: {
click () {
console.log('');
}
}
}
clarity
number
number
number
number
boolean
false
配置 🌰
{
list: [
{name: '标清', src:''},
{name: '高清', src: ''},
{name: '原画', src: ''}
],
// 可以指定 event 来绑定一些事件,默认 this 是该插件,而不是 dom
event: {
click () {
console.log('');
}
}
}
playbackrate
配置 🌰
{
// default 通过设置 default 来标明当前播放速率
list: [
{name: '0.5倍速', value: 0.5},
{name: '1倍速', value: 1, default: true},
{name: '2倍速', value: 2}
],
// 可以指定 event 来绑定一些事件,默认 this 是该插件,而不是 dom
event: {
click () {
console.log('');
}
}
}
自定义组件
配置 🌰
{
tag: '',
html: ``,
// 可以指定 event 来绑定一些事件,默认 this 是该插件,而不是 dom
event: {
click () {
console.log('');
}
}
}
Q: 子组件的默认顺序是什么?
A: 在 children 没有配置的情况下会采用下面的顺序
* 注意:根据 chimee 的参数 isLive 来判断是否是直播还是点播
* 直播: play, progressTime, volume, screen
* 点播: play, progressTime, progressTime, volume, screen
* 如果用户配置了, 则按照用户的配置走,不论是否是直播还是点播
Q: 我可以控制顺序吗?
A: 在 children 对象中,属性的书写顺序就是渲染顺序
* 注意, progressbar 可以作为一个占位符存在
Q: 为什么我配置了一个组件后,其他默认组件就都不存在了?
A: 假如 children 配置后, 会读 children 的属性,并渲染, 不会补充其他组件,所以,需要你把所有的组件都写.
updateClarity
配置 🌰
function updateClarity() {
player.load('http://yunxianchang.live.ujne7.com/vod-system-bj/103_368b70a5d4f-c5cc-42ff-b442-004168fc86a3.mp4');
player.on('load', function () { // 在 load 事件后
player.$plugins.chimeeControl.updateClarity([
{name: '标清', src: 'http://yunxianchang.live.ujne7.com/vod-system-bj/103_368b70a5d4f-c5cc-42ff-b442-004168fc86a3.mp4'},
{name: '高清', src: 'http://yunxianchang.live.ujne7.com/vod-system-bj/103_369ed890f51-1c38-42a7-9ce2-828492660c60.mp4'},
{name: '超清', src: 'http://yunxianchang.live.ujne7.com/vod-system-bj/103_370cc2f40bd-a39f-472a-884f-f44fcd9c5ae0.mp4'},
{name: '原画', src: 'http://yunxianchang.live.ujne7.com/vod-system-bj/103_371ab0c0fda-143d-4755-8727-d3cd12dce02d.mp4'}
]);
});
}
欢迎各位大佬使用。有什么问题/建议,随时提。