参数-事件
事件绑定
tp.on(event, handler)
tp.on('ended', function () {
console.log('player ended')
})绑定一次性事件
tp.once(event, handler)
tp.once('ended', function () {
console.log('player ended')
})视频事件: abort canplay canplaythrough durationchange emptied ended error loadeddata loadedmetadata loadstart mozaudioavailable pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting
视频事件以 HTML<video>元素 为准。
播放器事件: screenshot destroy resize fullscreen fullscreen_cancel
事件注销
tp.off(event, handler)
const handler = function () {
console.log('player ended')
}
tp.on('ended', handler)
tp.off('ended', handler)手动触发
tp.emit(event, data)
tp.emit('ended')参数
Tiny Player 的参数遵循 w3c 规范,同时支持原生 video 的参数,以下是 Tiny Player 的参数列表:
| 名称 | 默认值 | 描述 |
|---|---|---|
| container | document.querySelector('.tiny-player') | 播放器容器元素 |
| src | - | 视频链接 |
| poster | - | 视频封面 |
| volume | 0.7 | 默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效 |
| loop | false | 视频循环播放 |
| controls | true | 是否显示控制栏 |
| autoplay | false | 视频自动播放 |
| controlTarget | - | 控制器的挂载目标 |
| type | 'auto' | 视频类型 ,可选值:'auto','normal','hls' |
| preload | 'auto' | 预加载 ,可选值: 'auto' , 'none' , 'metadata' |
| muted | false | 是否静音 |
| playbackSpeed | 1 | 播放速率 |
| waterMarkShow | false | 是否显示水印 |
| waterMarkUrl | - | 自定义水印地址 |
| clipStart | - | 视频片段的开始时间 |
| clipEnd | - | 视频片段的结束时间 |
| handleVideoEndByOuter | false | 是否由外部控制视频结束 ,用于视频片段播放 ,为 true 时,视频播放结束时不会触发 video end 事件 |
import TinyPlayer from 'tiny-player'
// 示例:实际使用的时候,很多参数都是可选的,只需要传入必要的参数即可,详情请查看文档
const tp = new TinyPlayer({
container: document.querySelector('#tiny-player'), // 挂载节点
poster: poster, // 封面地址
controls: true, // 是否显示控制栏
loop: true, // 循环播放
volume: 0.9, // 音量
playbackRate: 1, // 播放速率
autoplay: false, // 自动播放
controlOptions: {
playTime: true, // 是否显示播放时间
volumeControl: true, // 是否显示音量控制条
fullScreenControl: true, // 是否显示全屏按钮
mountTarget: null, // 挂载目标节点
nativeControls: false, // 是否使用原生控制条
},
preload: 'metadata', // 预加载
src: videoSource, // 视频地址
type: 'hls', // 视频类型
waterMarkShow: true, // 是否显示水印
waterMarkUrl: '//assets.fedtop.com/picbed/202306091010648.png', // 自定义水印地址
clipStart: 6, // 视频片段的开始时间
clipEnd: 12, // 视频片段的结束时间
// width: '800px', // 自定义宽度
// height: '800px', // 自定义高度
// "...":'...' // 开发中。。。
})API
tp.play(): 播放视频tp.pause(): 暂停视频tp.seek(time: number): 跳转到特定时间jstp.seek(100)tp.toggle(): 切换播放和暂停tp.on(event: string, handler: function): 绑定视频和播放器事件tp.once(event: string, handler: function): 绑定一次性时间事件tp.off(event: string, handler: function): 解绑视频和播放器事件tp.emit(event: string, data: any): 触发视频和播放器事件
tp.destroy(): 销毁播放器tp.speed(rate: number): 设置视频速度tp.volume(percentage: number, nostorage: boolean, nonotice: boolean): 设置视频音量jstp.volume(0.1, true, false)tp.video: 原生 videotp.video.currentTime: 返回视频当前播放时间tp.video.duration: 返回视频总时间tp.video.paused: 返回视频是否暂停支持大多数原生 video 接口
tp.toggleFullScreen: 切换全屏