chimee-plugin-controlbar
install
# 依赖于 chimee, 首先需要安装 chimee npm install chimee# 安装控制条组件 npm install chimee-plugin-controlbar
;; // 安装插件chimee;const player = // ... // 使用插件 plugin: chimeePluginControlbarname // 或者 'chimeeControl' ;
也可以在页面中引用
/lib/index.browser.js
然后在页面中使用 chimeePluginControlbar
一个配置 🌰 更详细的配置例子, 可以 参考 /demo/index.html
plugin:
name: chimeePluginControlbarname majorColor: '' hoverColor: '' children: volume: icon: low: '' high: '' layout: 'vertical'
具体的参数配置
majorColor
hoverColor
barShowByMouse
hideBarTime
children
目前支持的组件及配置
配置 🌰
{ // 可以传两个 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(''); } }}
直播切流测试: http://chimee.org/demo/live-clarity.html
点播切流测试: http://chimee.org/demo/clarity.html
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'} ]); });}