Skip to content

参数

传入播放器构造函数的参数,在初始化播放器时可传入:

js
import Player from 'qier-player'

const player = new Player({
  src: '/test-video_1080p.mp4',
})

console.log('player parameters', player.options)

player.mount(document.body)

参数解释

参数名描述类型
container播放器挂载的容器元素,同 mount 方法传入的参数,如果 mount 没有传入参数时,将使用该参数,当该参数为字符串时,将会自动查找对应元素string | HTMLElement
video自行传入的 video 标签元素HTMLVideoElement
src视频地址,传入给 video 标签元素的 src 属性string
themeColor主题色,会影响整个播放器的视觉主题色string
videoPropsvideo 标签元素的属性Record<string, any>
posterOptions海报相关配置,详见 IPosterOptionsIPosterOptions
loadingOptions加载指示器相关配置,详见 ILoadingOptionsILoadingOptions
controller控制器相关配置,详见 IControllerIController
progressOptions进度条相关配置,详见 IProgressOptionsIProgressOptions
thumbnail缩略图相关配置,详见 IThumbnailIThumbnail
settings设置菜单相关配置,详见 ISettingItem(ISettingItem | string)[]
menus右键菜单相关配置,详见 IMenuItem(IMenuItem | string)[]
showDefaultMenu用于决定是否显示原生右键菜单,值为 true 时,将在第二次单击时显示浏览器的原生右键菜单,而不是我们自己配置的播放器右键菜单。值为 false 时,将始终不显示浏览器右键菜单。boolean
shortcutOptions快捷键相关配置,详见 IShortcutIShortcut

IPosterOptions

参数名描述类型
disabled是否禁用海报boolean
url海报图片的链接地址string
autoFill海报图片是否自动填满视频整个容器boolean
bgColor海报图片背景颜色,如果你的图片是有透明信息的,这个配置有必要填string

ILoadingOptions

参数名描述类型
disabled是否禁用加载指示器boolean
spinner自定义指示器HTMLElement
type内置的指示器动画,两个动画可选择wave | circle

IController

参数名描述类型
progress进度条配置`(IControllerEle
eles控制栏配置`(IControllerEle
ts
interface IControllerEle {
  el: HTMLElement;
  id?: any;
  tip?: string;
  tooltip?: Tooltip;
  mounted?: boolean;
  init?: (player: Player, tooltip: Tooltip) => void;
  dispose?: () => void;
  [key: string]: any;
}

IProgressOptions

参数名描述类型
dot当前进度条末端的点,可自己写一个元素替换HTMLElement
playedBg已经播放过的进度条颜色string
buffBg缓存的进度条的颜色string
indicator是否展示光标在进度条上的指示器boolean

IThumbnail

参数名描述类型
startSecond缩略图开始时间number
gapSecond缩略图生成的间隔时间number
row雪碧图图行数number
col雪碧图图列数number
width缩略图宽度number
height缩略图高度number
images雪碧图链接数组string[]

ISettingItem

ts
interface ISettingItem<T = any> {
  id?: any;
  html?: string;
  type?: 'switch' | 'select';
  checked?: boolean;
  options?: ISettingItemOption<T>[];
  value?: T;
  init?: (player: Player, item: ISettingItem) => void;
  change?: (value: T, player: Player, item: ISettingItem) => void;
  _switch?: Switch;
  _selectedEl?: HTMLElement;
  _optionEls?: HTMLElement[];
  _optionEl?: HTMLElement;
  [key: string]: any;
}
ts
interface ISettingItemOption<T = any> {
  html?: string;
  selectedText?: string;
  value?: T;
}

详细用法可参考自定义设置菜单项

IMenuItem

ts
interface IMenuItem {
  id?: string;
  html?: string;
  hidden?: boolean;
  disabled?: boolean;
  checked?: boolean;
  init?: (player: Player, item: IMenuItem) => void;
  show?: (player: Player, item: IMenuItem) => void;
  click?: (player: Player, item: IMenuItem) => void;
}

详细用法可参考右键菜单

IShortcut

参数名描述类型
disabled是否禁用快捷键boolean
seekStep使用快捷键时,单次快进、快退的步长,比如 5number
volumeStep使用快捷键时,单次增加、减少的音量,比如 0.1number
showToast使用快捷键时,是否展示弹框标识当前操作boolean
toastDelay使用快捷键时,弹框的存在时长number

默认值

ts
const defaultOptions = {
  posterOptions: {
    disabled: true,
    autoFill: true,
  },
  loadingOptions: {
    disabled: false,
    type: 'circle',
  },
  controller: {
    progress: ['progress'],
    eles: ['play', 'time', 'spacer', 'volume', 'settings', 'web-fullscreen', 'fullscreen'],
  },
  settings: ['mirroring', 'speed'],
  menus: ['loop'],
  showDefaultMenu: true,
  videoProps: {
    crossorigin: 'anonymous',
    preload: 'auto',
    playsinline: 'true',
  },
  progressOptions: {
    indicator: true,
  },
  shortcutOptions: {
    disabled: false,
    seekStep: 5,
    volumeStep: 0.1,
    showToast: true,
    toastDelay: 500,
  },
}

基于 MIT 许可发布