Appearance
核心 API
本章节介绍 QiuVideo 播放器的核心 API。
QiuVideo
QiuVideo 是播放器的主要类,提供了初始化和控制播放器的所有功能。
构造函数
javascript
const qiuVideo = new QiuVideo(options);
参数:
options:播放器配置选项对象container:string | HTMLElement - 播放器容器元素或选择器videoUrl:string - 视频源 URLposter:string - 视频封面图片 URLvolume:number - 初始音量(0-1),默认 0.7autoplay:boolean - 是否自动播放,默认 falsemuted:boolean - 是否静音,默认 falseloop:boolean - 是否循环播放,默认 falsepreload:string - 预加载方式 ('auto', 'metadata', 'none'),默认 'metadata'playbackRate:number - 播放速率,默认 1subtitles:Array - 字幕配置javascript[ { url: '字幕文件URL', label: '字幕标签', srclang: '语言代码', default: true } ]hls:boolean - 是否启用 HLS 支持,默认 falseflv:boolean - 是否启用 FLV 支持,默认 falsecontextmenu:Array - 自定义右键菜单keyboard:boolean - 是否启用键盘控制,默认 truelogo:Object - 播放器 Logo 配置javascript{ url: 'logo URL', position: 'left-top', // left-top, right-top, left-bottom, right-bottom link: '点击链接' }
方法
播放控制
play()
javascript
qiuVideo.play();
开始播放视频。
pause()
javascript
qiuVideo.pause();
暂停视频播放。
toggle()
javascript
qiuVideo.toggle();
切换播放/暂停状态。
destroy()
javascript
qiuVideo.destroy();
销毁播放器实例,释放资源。
进度控制
seek(time)
javascript
qiuVideo.seek(time);
跳转到指定时间点。
参数:
time:number - 目标时间(秒)
getCurrentTime()
javascript
const currentTime = qiuVideo.getCurrentTime();
获取当前播放时间(秒)。
返回值:number - 当前播放时间(秒)
getDuration()
javascript
const duration = qiuVideo.getDuration();
获取视频总时长(秒)。
返回值:number - 视频总时长(秒)
音量控制
setVolume(volume)
javascript
qiuVideo.setVolume(volume);
设置音量。
参数:
volume:number - 音量值(0-1)
getVolume()
javascript
const volume = qiuVideo.getVolume();
获取当前音量。
返回值:number - 当前音量(0-1)
setMuted(muted)
javascript
qiuVideo.setMuted(muted);
设置静音状态。
参数:
muted:boolean - 是否静音
toggleMute()
javascript
qiuVideo.toggleMute();
切换静音状态。
播放速率
setPlaybackRate(rate)
javascript
qiuVideo.setPlaybackRate(rate);
设置播放速率。
参数:
rate:number - 播放速率(如 0.5, 1, 1.5, 2)
getPlaybackRate()
javascript
const rate = qiuVideo.getPlaybackRate();
获取当前播放速率。
返回值:number - 当前播放速率
全屏控制
requestFullscreen()
javascript
qiuVideo.requestFullscreen();
请求进入全屏模式。
exitFullscreen()
javascript
qiuVideo.exitFullscreen();
退出全屏模式。
toggleFullscreen()
javascript
qiuVideo.toggleFullscreen();
切换全屏状态。
requestWebFullscreen()
javascript
qiuVideo.requestWebFullscreen();
请求进入网页全屏模式。
exitWebFullscreen()
javascript
qiuVideo.exitWebFullscreen();
退出网页全屏模式。
toggleWebFullscreen()
javascript
qiuVideo.toggleWebFullscreen();
切换网页全屏状态。
requestPictureInPicture()
javascript
qiuVideo.requestPictureInPicture();
请求进入画中画模式。
exitPictureInPicture()
javascript
qiuVideo.exitPictureInPicture();
退出画中画模式。
togglePictureInPicture()
javascript
qiuVideo.togglePictureInPicture();
切换画中画状态。
视频源
load(url)
javascript
qiuVideo.load(url);
加载新的视频源。
参数:
url:string - 新的视频 URL
changeVideo(options)
javascript
qiuVideo.changeVideo(options);
切换视频源,可同时更新封面等配置。
参数:
options:对象,包含视频源信息url:string - 视频 URLposter:string - 视频封面 URL
字幕
addSubtitle(options)
javascript
qiuVideo.addSubtitle(options);
添加字幕轨道。
参数:
options:字幕配置url:string - 字幕文件 URLlabel:string - 字幕标签srclang:string - 语言代码default:boolean - 是否默认启用
removeSubtitle(index)
javascript
qiuVideo.removeSubtitle(index);
移除字幕轨道。
参数:
index:number - 字幕轨道索引
setSubtitle(index)
javascript
qiuVideo.setSubtitle(index);
切换当前字幕轨道。
参数:
index:number - 字幕轨道索引
质量切换
setQuality(quality)
javascript
qiuVideo.setQuality(quality);
切换视频质量。
参数:
quality:string - 质量标识
事件
on(event, callback)
javascript
qiuVideo.on(event, callback);
注册事件监听器。
参数:
event:string - 事件名称callback:Function - 回调函数
off(event, callback)
javascript
qiuVideo.off(event, callback);
移除事件监听器。
参数:
event:string - 事件名称callback:Function - 回调函数
可用事件列表
| 事件名称 | 说明 | 回调参数 |
|---|---|---|
| ready | 播放器准备就绪 | - |
| play | 开始播放 | - |
| pause | 暂停播放 | - |
| ended | 播放结束 | - |
| error | 播放错误 | error: Error |
| timeupdate | 播放时间更新 | currentTime: number |
| durationchange | 视频时长更新 | duration: number |
| volumechange | 音量改变 | volume: number, muted: boolean |
| fullscreenchange | 全屏状态改变 | fullscreen: boolean |
| webfullscreenchange | 网页全屏状态改变 | webfullscreen: boolean |
| pipchange | 画中画状态改变 | pip: boolean |
| seeking | 正在跳转 | - |
| seeked | 跳转完成 | - |
| loadedmetadata | 视频元数据加载完成 | - |
| progress | 加载进度更新 | loaded: number, total: number |
| qualitychange | 画质切换完成 | quality: string |
| subtitlechange | 字幕切换完成 | index: number |
| ratechange | 播放速率改变 | rate: number |
静态方法
QiuVideo.version
javascript
const version = QiuVideo.version;
获取 QiuVideo 版本号。
QiuVideo.isSupported()
javascript
const isSupported = QiuVideo.isSupported();
检查浏览器是否支持播放器。
返回值:boolean - 是否支持
QiuVideo.supportsFormat(format)
javascript
const supported = QiuVideo.supportsFormat(format);
检查浏览器是否支持特定视频格式。
参数:
format:string - 视频格式(如 'mp4', 'webm', 'ogg')
返回值:boolean - 是否支持
工厂函数
除了使用构造函数创建播放器实例外,还可以使用工厂函数创建:
javascript
// 创建播放器实例
const qiuVideo = QiuVideo.create(options);
// 链式调用
QiuVideo.create(options)
.on('ready', () => console.log('播放器已准备就绪'))
.on('play', () => console.log('开始播放'))
.play();