Skip to content
On this page

参数-事件

事件绑定

tp.on(event, handler)

js
tp.on('ended', function () {
  console.log('player ended')
})

绑定一次性事件

tp.once(event, handler)

js
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)

js
const handler = function () {
  console.log('player ended')
}
tp.on('ended', handler)
tp.off('ended', handler)

手动触发

tp.emit(event, data)

js
tp.emit('ended')

参数

Tiny Player 的参数遵循 w3c 规范,同时支持原生 video 的参数,以下是 Tiny Player 的参数列表:

名称默认值描述
containerdocument.querySelector('.tiny-player')播放器容器元素
src-视频链接
poster-视频封面
volume0.7默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效
loopfalse视频循环播放
controlstrue是否显示控制栏
autoplayfalse视频自动播放
controlTarget-控制器的挂载目标
type'auto'视频类型 ,可选值:'auto','normal','hls'
preload'auto'预加载 ,可选值: 'auto' , 'none' , 'metadata'
mutedfalse是否静音
playbackSpeed1播放速率
waterMarkShowfalse是否显示水印
waterMarkUrl-自定义水印地址
clipStart-视频片段的开始时间
clipEnd-视频片段的结束时间
handleVideoEndByOuterfalse是否由外部控制视频结束 ,用于视频片段播放 ,为 true 时,视频播放结束时不会触发 video end 事件
js
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): 跳转到特定时间

    js
    tp.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): 设置视频音量

    js
    tp.volume(0.1, true, false)
  • tp.video: 原生 video

  • tp.video.currentTime: 返回视频当前播放时间

  • tp.video.duration: 返回视频总时间

  • tp.video.paused: 返回视频是否暂停

  • 支持大多数原生 video 接口

  • tp.toggleFullScreen: 切换全屏

Released under the MIT License.