西瓜播放器API
- API样式:
- player.play()
- // OR
- player.play().then(() => {
- // 播放成功
- }).catch(() => {
- // 播放失败,一般发生于未经用户交互时的自动播放
- })
- API目录:
- play//播放
- pause//暂停
- start//启动播放器,开始加载媒体资源,初始化video元素
- replay//播放器返回至片头,重新播放,一般在播放结束时调用(对于直播场景无效)
- seek//跳转到某个时间点继续播放,参数是number类型,单位是s(秒)(对于直播场景无效)
- reload//重新加载视频
- resetState()//重置当前实例状态,暂停视频并且将当前实例状态设置为起播之前的状态, 累计播放时长的计算结果会清空,播放器容器dom上的类名会重置为起播之前的状态
- reset()//调用resetState重置实例状态,并且注销所有已经注册的组件,并且将当前实例的配置恢复为默认值
- setConfig//更新配置信息,如果新的配置列表中包含内置插件的配置项,则会调用内置插件的setConfig对其进行更新
- player.setConfig({
- url: '另一个url',
- })
-
- playNext(newConfig)//切换播放源
- player.playNext({
- url: '另一个url',
- poster: '新的海报图',
- ...
- })
-
- switchURL//切换播放源//该API为切换播放源的一种方式,内部实现了两个功能:1.为播放器设置src, player.src = src 2.根据切换前的播放状态,如果是播放中则在合适时机启动播放
- player.switchURL('url')
-
- changeDefinition//切换清晰度
- player.changeDefinition({
- url: '另一个url',
- definition: 1,
- ...
- })
-
- destroy//销毁播放器对象,该对象销毁的时候所有内置对象都会销毁,在调用的时候会下发Events.DESTROY事件
- resetState//尝试暂停 Mediaelement,并还原播放器UI状态
- on//添加事件监听player.on(Events.PlAY, boundFunc)
- off//解除事件监听player.off(Events.PlAY, boundFunc)
- emit//触发事件player.emit(Events.ERROR, {})
- focus//播放器获取焦点
- blur//播放器失去焦点
- canPlayType//检测当前浏览器是否能播放指定类型的视频player.canPlayType(mimeType);
- getBufferedRange//返回currentTime所处的缓冲时间范围,start表示缓冲起始时间,end表示缓存截止时间
- checkBuffer//验证某个时间点是否在当前缓冲区间内
- getFullscreen//全屏作用的DOM节点,如果不传默认是player.root,必须是player.root的父辈节点,如果该接口调用的时候处于网页全屏状态会自动退出网页全屏,下发事件Events.FULLSCREEN_CHANGE
- exitFullscreen//播放器退出全屏状态
- getCSSFullscreen//播放器进入网页全屏
- exitCssFullscreen//播放器退出网页全屏
- addClass//给播放器容器player.root添加CSS类名
- removeClass//给播放器容器player.root移除CSS类名
- hasClass//判断播放器容器player.root是否存在CSS类名
- setAttribute//给播放器容器player.root设置属性player.setAttribute('key', 'value')
- resize//调整播放器尺寸,如果初始化的时候有配置fitVideoSize 或者 videoFillMode,或者视频画面做了旋转,该api会触发整体的尺寸计算,根据视频画面和当前播放器容器尺寸做计算
- getPlugin//从当前播放器获取插件的实例const pluginInstance = player.getPlugin('pluginName')
- registerPlugin//在当前播放器上注册某个插件const pluginInstance = player.registerPlugin(MyPlugin)
- unRegisterPlugin//在当前播放器上销毁/注销某个插件const pluginInstance = player.unRegisterPlugin(pluginName)
- usePluginHooks//启用某个插件的某个hook
- removePluginHooks//移除某个插件的某个hook
- useHooks//启用播放器的某个hook
- removeHooks//移除播放器的某个hook
- attachVideoEvents//给播放器挂载一个媒体对象,并注册相应事件
- detachVideoEvents//给播放器解除媒体对象,并移除相应事件,参数不传入则获取现有的player.video
- setEventsMiddleware//设置媒体事件中间件,中间件在相关事件emit之前执行,可以阻止某个事件的下发
- removeEventsMiddleware//移除媒体事件中间件player.removeEventsMiddleware(middlewares)
复制代码
|