jPlayer音视频播放器插件
简介
jPlayer 是一个基于 jQuery 的开源音频/视频播放器插件,通过 HTML5 + Flash 双引擎实现跨浏览器兼容,支持自定义皮肤与丰富的 API,曾广泛应用于老项目的音乐播放、视频展示场景(目前新项目更推荐 video.js、hls.js 等现代方案)。
支持的平台与浏览器
Windows: Firefox, Chrome, Opera, Safari, IE6, IE7, IE8, IE9
OSX: Safari, Firefox, Chrome, Opera
iOS: Mobile Safari: iPad, iPhone, iPod Touch
Android: Android 2.3 Browser
Blackberry: We require a device for testing
媒体支持
HTML5: mp3, mp4 (AAC/H.264), ogg (Vorbis/Theora), webm (Vorbis/VP8), wav
Flash: mp3, mp4 (AAC/H.264)
一、核心特性
- ✅ 双引擎兼容:优先使用 HTML5,不支持的浏览器(如 IE8-)自动降级为 Flash
- ✅ 多格式支持:音频支持 MP3、OGG、WAV;视频支持 MP4(H.264)、OGG、WebM
- ✅ 完全自定义:无默认 UI,可通过 HTML/CSS 自由设计控制条、皮肤
- ✅ API 丰富:提供播放、暂停、进度、音量等全流程控制方法与事件回调
- ✅ 轻量开源:MIT 协议,可免费商用,核心文件仅 20KB+
- ✅ 老浏览器友好:兼容 IE6+、Chrome、Firefox、Safari 等全系列浏览器
二、快速上手
1. 依赖与安装
jPlayer 依赖 **jQuery 1.7+**,需先引入 jQuery,再引入 jPlayer 核心文件。
方式1:CDN 引入(推荐)
1 | |
方式2:npm 安装
1 | |
2. 基础 HTML 结构
jPlayer 需要两个核心容器:
#jquery_jplayer:隐藏的媒体播放容器(用于加载音频/视频)#jp_container:自定义 UI 容器(控制条、播放按钮等)
1 | |
3. 初始化
1 | |
三、配置详解
1. 核心配置
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
ready |
Function | null |
播放器准备完成后的回调函数(必须在此设置媒体文件) |
setMedia |
Object | null |
媒体文件配置(通过方法调用,见下文),格式:{mp3: '...', oga: '...', m4a: '...'} |
supplied |
String | '' |
支持的媒体格式(逗号分隔),音频:mp3,oga,wav,m4a;视频:m4v,ogv,webm |
solution |
String | 'html,flash' |
引擎优先级:'html,flash'(先 HTML5 后 Flash)或 'flash,html' |
swfPath |
String | 'js' |
Flash 文件(Jplayer.swf)所在目录的相对/绝对路径 |
wmode |
String | 'window' |
Flash 窗口模式:'window'/'opaque'/'transparent'(解决 Flash 遮挡问题用 'opaque') |
2. UI 与行为配置
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
autoPlay |
Boolean | false |
是否自动播放(注意:现代浏览器通常禁止自动播放带声音的媒体) |
loop |
Boolean | false |
是否循环播放 |
volume |
Number | 0.8 |
初始音量(0-1,1 为最大) |
muted |
Boolean | false |
是否初始静音 |
preload |
String | 'metadata' |
预加载策略:'none'(不预加载)/'metadata'(仅预加载元数据)/'auto'(预加载整个文件) |
cssSelectorAncestor |
String | '' |
UI 容器的选择器(如 '#jp_container'),用于绑定控制条 |
cssSelector |
Object | {} |
自定义 UI 元素的选择器(覆盖默认绑定),如:{play: '.my-play-btn', pause: '.my-pause-btn'} |
toggleDuration |
Boolean | false |
点击时间显示是否切换“当前时间/剩余时间” |
3. 事件回调配置
| 配置项 | 说明 | 回调参数 |
|---|---|---|
ready |
播放器准备完成 | event |
setmedia |
设置媒体文件后 | event |
play |
开始播放时 | event |
pause |
暂停播放时 | event |
ended |
播放结束时 | event |
timeupdate |
播放进度更新时(频繁触发) | event |
volumechange |
音量变化时 | event |
error |
播放出错时 | event |
waiting |
缓冲等待时 | event |
playing |
缓冲结束继续播放时 | event |
四、常用方法
初始化后可通过 $('#jquery_jplayer').jPlayer('方法名', 参数) 调用:
1. 媒体控制
1 | |
2. 音量控制
1 | |
3. 其他方法
1 | |
五、注意事项
- jQuery 依赖:必须先引入 jQuery,且版本需 ≥ 1.7(推荐 jQuery 3.x)。
- Flash 路径:老浏览器需 Flash fallback,务必正确设置
swfPath(指向Jplayer.swf所在目录)。 - 格式兼容性:
- 音频:优先用 MP3(全浏览器支持),补充 OGG(兼容旧版 Firefox);
- 视频:优先用 MP4(H.264),补充 OGV/WebM(兼容旧版 Firefox/Chrome)。
- 自动播放限制:现代浏览器(Chrome、Safari 等)禁止自动播放带声音的媒体,需用户交互后才能播放。
六、总结
jPlayer 已停止维护(最后更新于 2019 年),仅推荐用于老项目维护;新项目建议使用 video.js(视频)、howler.js(音频)等现代方案。
jPlayer音视频播放器插件
https://cszy.top/2014-12-17 jplayerplaylist相关方法参数/