0.0.4 • Published 1 year ago

no-framework-video-player v0.0.4

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

【前端】pc 播放器组件

使用方式

  • 1.创建实例
import VideoPlayer from 'no-framework-video-player';
const videoPlayer = new VideoPlayer({
  target: document.getElementById('video'),
  props: {
    // 是否自动播放
    autoPlay: true,
    // 加载动画使用同花顺logo
    loadingType: 'ths',
    // 加载中的文案
    loadingText: '',
    // 视频地址
    src: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4',
  }
});
// 响应式的修改视频播放器的信息
videoPlayer.$$set({
                type: 'm3u8',
                controlBtns: [
                    'progress',
                    'progressTime',
                    'speedRate',
                    'volume',
                    'setting',
                    'pip',
                    'pageFullScreen',
                    'fullScreen',
                ],
                src: 'https://apd-65f952198b079d44ae6259b57f149420.v.smtcdns.com/mv.music.tc.qq.com/Agxi661cQ4dgUk-YYtb57kQOV8qAfhzk9PkGL63aI2Ww/B31668EF2AF834F7B39B8C23AF46A9E333AF1EEB77436A8323B92B4761AC524A14D71B884B41ED1E42D708A610FD2A9EZZqqmusic_default/qmmv_0b53q4aaoaaapeaagbl6yvrvjbyaa6dqab2a.f9944.m3u8'
            })
// 监听视频开始加载
videoPlayer.$on('loadstart', () => {
  console.log('loadstart');
});
// 监听视频播放的当前时间改变
videoPlayer.$on('timeupdate', ({ detail }) => {
  console.log(detail.currentTime, detail.duration);
});

参数说明

参数是否必填说明类型默认值
projectName记录项目名称,用以统计组件使用情况,并且异常上报的时候做检索用string''
src视频源地址string''
languageType国际化,目前支持三种语言,简体中文|繁体中文|英文'zh-cn'|'zh-tw'|'en''zh-cn'
width视频宽度string'800px'
height视频高度string'450px'
color播放器整体色彩string'#E93030'
colorEnd播放器进度条和声音控制栏渐变色彩尾部string'#F06F6F'
title当前视频的标题,如果传入则会在全屏显示的时候显示在左上角string''
type当前视频使用什么类型播放,默认支持 mp4 类型'video/mp4'|'m3u8''video/mp4'
poster视频封面信息,不传默认使用第一帧视频string''
webFullScreen默认是否是网页全屏booleanfalse
canSpeed是否支持改变进度booleantrue
currentTime从哪个时间点开始播放,单位是秒number0
muted是否静音booleanfalse
speedRate播放倍速string[]'2.0', '1.5', '1.25', '1.0', '0.75', '0.5'
autoPlay是否默认播放,如果设置了 true,如果当前页面没有交互,会静音自动播放booleanfalse
loop默认是否循环播放booleanfalse
mirror默认是否镜像booleanfalse
lightOff默认是否关灯booleanfalse
volume默认音量number1
control是否显示控制器booleanfalse
controlBtns具体显示某几个控制器,分别为进度条|进度时间|视频质量(mp4 视频不会显示)|速度控制|声音控制|设置|画中画|网页全屏|全屏'progress'|'progressTime'|'quality'|'speedRate'|'volume'|'setting'|'pip'|'pageFullScreen'|'fullScreen'[]'progress','progressTime','quality','speedRate','volume','setting','pip','pageFullScreen','fullScreen'
preload是否预加载'auto'|'metadata'|'none''auto'
qualityLevels分辨率数组,mp4 视频不会显示string[][]
contextMenu右键弹出内容,滤镜|热键信息|复制网址|版本信息'filter'|'hotkey'|'copy'|'version'[]'filter', 'hotkey', 'copy', 'version'
loadingDom加载中的 dom,供业务方写自己的 dom 进行渲染string''
loadingImg加载中的图片string''
loadingType加载中使用的类型。如果业务方需要修改加载中的动画,只能选择一种方式进行修改'ths'|'default''default'
loadingText加载中的文案string'正在缓冲...'
hasFeedBack是否需要有反馈入口booleanfalse

Events

事件名说明参数
feedbackConfirm反馈弹框点击确认,返回用户反馈选择了什么和他输入了什么反馈内容detail:{feedbackOptions:string[],feedbackValue:string}
speedDisabled当设置了不能调整进度用户调整进度时触发,返回用户点击的时间是第几秒detail:number
mirrorChange镜像切换触发,返回当前是否打开镜像detail:{mirrorStatus:boolean}
loopChange视频循环开启关闭,返回是否开启detail:{loopStatus:boolean}
lightOffChange开关灯,返回是否处于开灯状态detail:{lightOffStatus:boolean}
loadstart加载开始detail:{currentTime:number,duration:number}
waiting等待中detail:{currentTime:number,duration:number}
ended播放结束detail:{currentTime:number,duration:number}
error播放错误detail:{currentTime:number,duration:number}
stalled数据不可用detail:{currentTime:number,duration:number}
progress加载资源detail:{currentTime:number,duration:number}
canplay视频能够播放detail:{videoDom:HTMLVideoElement,duration:number}
canplaythrough视频能够不缓冲播放detail:{currentTime:number,duration:number}
durationchange视频长度改变detail:{duration:number}
loadeddata视频加载完数据detail:{currentTime:number,duration:number}
loadedmetadata视频的元数据已加载detail:{currentTime:number,duration:number}
pause暂停detail:{currentTime:number,duration:number}
play播放detail:{currentTime:number,duration:number}
playing开始播放detail:{currentTime:number,duration:number}
seeked当用户已移动/跳跃到视频中的新位置时触发detail:{currentTime:number,duration:number}
seeking当用户开始移动/跳跃到视频中的新位置时触发detail:{currentTime:number,duration:number}
timeupdate当目前的播放位置已更改时触发detail:{currentTime:number,duration:number}
hlsLevelSwitchingmp4 视频不会触发,清晰度切换开始时触发,返回当前正在切换的清晰度detail:number
hlsLevelSwitchedmp4 视频不会触发,清晰度切换完成时触发,返回当前正在切换的清晰度detail:number