介绍
MuiPlayer 是一款 HTML5 视频播放插件,其默认配置了精美可操作的的播放控件,涉及了常用的播放场景,例如全屏播放、播放快进、循环播放、音量调节、视频解码等功能。播放器的设计兼容了在 PC、Mobile 端运行,提供了 “移动端” 以及 “PC端” 两类扩展插件,因此你也可应用于在 Android、Ios 的 Webview 中使用。
安装
npm i mui-player --save
使用
// 引入
import 'mui-player/dist/mui-player.min.css'
import MuiPlayer from 'mui-player'
// 定义播放器容器
<div id="mui-player"></div>
// 初始化 MuiPlayer 插件,MuiPlayer 方法传递一个对象,该对象包括所有插件的配置
var mp = new MuiPlayer({
container:'#mui-player',
title:'标题',
src:'./static/media/media.mp4',
})
主要配置
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
container | String/Element | required | 指定播放器容器 |
src | String | required | 视频播放的资源地址 |
title | String | 标题 | |
autoplay | Boolean | false | 是否自动播放,关于 autoplay 属性设置问题请参考 |
preload | String | auto | 视频是否预加载,可选值 none | metadata | auto。如果 autoplay=true,则忽略该属性。 |
loop | Boolean | false | 是否循环播放 |
muted | Boolean | false | 是否静音播放 |
width | String/Number | auto | 初始化播放器宽度 |
height | String/Number | 225px | 初始化播放器高度 |
lang | String | navigator.language | 播放器界面语言,可选 en | zh-cn | zh-tw |
volume | Number | 1 | 初始化设置视频音量,取值 0 - 1 |
autoFit | Boolean | true | 播放器容器是否自适应视频高度 |
poster | String | 视频封面的资源地址 | |
live | Boolean | false | 是否开启直播模式,直播模式默认菜单配置不允许控制播放速度以及循环播放 |
initFullFixed | Boolean | false | 初始化是否网页全屏播放 |
autoOrientaion | Boolean | true | 全屏时否自动切换方向,在 html5+ (opens new window)中全屏时会自动旋转屏幕,部分手机浏览器全屏时自动旋转方向。 Tag:ios 全屏切换时稍有差异,全屏模式时调用系统全屏播放。 |
dragSpotShape | String | circular | 设置进度条拖动点的形状,可选 circula | square |
objectFit | String | contain | 视频大小与 video 容器的表现形式。可选 contain | cover |
closeControlsTimer | Number | 3500 | 设置播放器定时隐藏控件的时间,可配合 toggleControls 函数接口使用;新增 |
# | |||
videoAttribute | Array | [] | 此属性为添加更多 H5 Video 标签的属性,参数为接受每个 key value 键值对象,注意如果该数组中属性值在已有设置中存在,那么会覆盖。 如需配置声明启用同层播放,那么配置如下:videoAttribute:[ {attrKey:'webkit-playsinline',attrValue:'webkit-playsinline'}, {attrKey:'playsinline',attrValue:'playsinline'}, {attrKey:'x5-video-player-type',attrValue:'h5-page'}, ] |
# | |||
subtitle | Object | {} | 添加视频字幕。目前只支持 webvtt 字幕格式,请参考视频字幕 |
parse | Object | {} | 添加视频解码插件。请参考:解码播放 |
plugins | Object | {} | 添加播放扩展插件,请参考:移动端扩展 PC端扩展 |
完整代码
<template>
<div class="videoPlayer">
<div id="mui-player"></div>
</div>
</template><script>
import 'mui-player/dist/mui-player.min.css'
import MuiPlayer from 'mui-player'
export default {
name: 'videoPlayer',
data() {
return {
videoUrl: 'test.mp4'
}
},
mounted() {
this.initPlayer();
},
methods: {
initPlayer() {
const that = this;
// 初始化 MuiPlayer 插件,MuiPlayer 方法传递一个对象,该对象包括所有插件的配置
let mp = new MuiPlayer({
container: '#mui-player', // 指定播放器容器
title: '课程标题', // 标题
src: that.videoUrl, // 视频播放的资源地址
muted: false, // 是否静音
autoplay: true, // 是否自动播放
initFullFixed: true, // 初始化全屏
})
// 监听播放器已创建完成
mp.on('back', function (event) {
that.$router.go(-1);
});
}
}
}
</script><style lang="less" scoped>
.videoPlayer {
width: 100%;
height: 100%;
}
</style>
想了解更多请移步官方文档:API | MuiPlayer