快速上手
只需三步:安装、DOM占位、实例化即可完成播放器的使用。
安装
$ npm install xgplayer
基本使用
1. 在页面提供占位 DOM
<div id="mse"></div>
2. 实例化
使用npm包
import Player from 'xgplayer';
import 'xgplayer/dist/index.min.css';
let player = new Player({
id: 'mse',
url: '//abc.com/**/*.mp4',
height: '100%',
width: '100%',
});
使用cdn
<link rel="stylesheet" href="//unpkg.byted-static.com/xgplayer/[VERSION]/dist/index.min.css">
<script src="//unpkg.byted-static.com/xgplayer/[VERSION]/dist/index.min.js"></script>
<script>
var player = new window.Player({
id: 'mse',
url: '//abc.com/**/*.mp4',
height: '100%',
width: '100%',
})
</script>
注意
链接地址中的[VERSION]为实际使用的版本号
两步即可完成最简单的视频播放(mp4点播),播放器提供了较丰富的配置选项,如自动播放、贴图、音量控制、内置控件关闭等等,更多配置可参考 配置。
插件扩展
import MyPlugin from 'my-xgplayer-plugin'
import Player from 'xgplayer'
const player = new Player({
id: 'vs',
url: './hjh1.mp4',
height: '100%',
width: '100%',
plugins: [MyPlugin]
})
更多配置可参考 插件。
Preset扩展
简单地理解,Preset就是一组插件的集合 插件和播放器是可以完全解耦的,播放器内所有插件都可通过es目录单独引用,而Preset机制则允许我们对插件进行任意组合,详细使用方式请看Preset详解
播放器内置了点播、直播、移动端三个preset,其中点播是默认使用的preset,如果想使用直播Preset,可以这样做
import Player from 'xgplayer'
import 'xgplayer/dist/index.min.css'
import LivePreset from 'xgplayer/es/presets/live'
const player = new Player({
id: 'vs',
url: './hjh1.mp4',
height: '100%',
width: '100%',
presets: [LivePreset]
})
如果想保留点播Preset,并在此基础上开发了自己的Preset,那么可以来合并使用:
import Player from 'xgplayer'
import 'xgplayer/dist/index.min.css'
import MyPreset from './my-preset'
const player = new Player({
id: 'vs',
url: './hjh1.mp4',
height: '100%',
width: '100%',
presets: ['default', MyPreset] // 传入'default'以保留默认preset
})
相反,如果不传入'default'字符串,将不启用默认preset内的所有插件
轻量级引用
V3的所有插件都是可插拔的,我们提供了默认的插件集合引用,如果你觉得使用默认导出对象有插件冗余,想要自己组装,实现方式如下(仅npm方式支持):
import { SimplePlayer } from 'xgplayer';
// 引入es目录下的插件
import Start from 'xgplayer/es/plugins/start'
import PC from 'xgplayer/es/plugins/pc'
import Mobile from 'xgplayer/es/plugins/mobile'
import Progress from 'xgplayer/es/plugins/progress'
import Time from 'xgplayer/es/plugins/time'
import Play from 'xgplayer/es/plugins/play'
import Error from 'xgplayer/es/plugins/error'
import 'xgplayer/dist/index.min.css';
let player = new SimplePlayer({
id: 'mse',
url: '//abc.com/**/*.mp4',
height: '100%',
width: '100%',
plugins: [Start,PC,Mobile, Progress, Play, Time, Error] // 传入需要组装的插件
});
具体可使用的内置插件,以及插件的功能详细说明,请参考内置插件
注意: SimplePlayer默认值集成了英文,因此如果需要显示中文文本,还需要引入一下中文,如下:
import { I18N } from 'xgplayer'
import ZH from 'xgplayer/es/lang/zh-cn'
// 启用中文
I18N.use(ZH)
更多国际化语言的使用和扩展请看国际化
灵活的Icon替换
当我们需要根据业务场景对Icon做替换时,我们可以通过配置项进行icon svg的替换,更多配置请看内置插件icons配置
import MyPlayIcon from '../icons/my-play-icon.svg';
import MyPauseIcon from '../icons/my-pause-icon.svg';
import Player from 'xgplayer'
const player = new Player({
el:document.querySelector('#mse'),
icons: {
play: MyPlayIcon,
pause: MyPauseIcon
}
})
兼容性
- 点播兼容到 IE11+
- 直播需要浏览器支持Media Source Extensions
- PC Web端支持直接播放mp4视频,播放HLS、FLV、MPEG-DASH需要浏览器支持Media Source Extensions
- iOS Web端支持直接播放mp4和HLS,不支持播放FLV、MPEG-DASH
- Android Web端支持直接播放mp4和HLS,播放FLV、MPEG-DASH需要浏览器支持Media Source Extensions
- 不同业务需求下兼容性要求可能降低,详见具体插件页面插件