更新记录
1.0.1(2023-03-29)
下载此版本
修改初始进度问题
1.0.0(2023-03-26)
下载此版本
初始提交
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
app-nvue |
× |
√ |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
鸿蒙元服务 |
× |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
x-video
介绍
封装原生video,重写了控制条,包含播放暂停、静音、进度条、倍速菜单、垂直全屏、缓冲Loading、断点播放。
使用说明
- 控制播放可以点击左下按钮和视频区域
- 进度条使用的内置组件slider,在videoLoaded事件根据播放时间滑动,可手动拖动
- progress,表示初始时间占比,例:0.1,就是10%,控制断点播放
- step,表示当前时间占比,例:5,每5%跳一次,取值必须大于0且为整数
- 控制条会在5秒后过渡隐藏,点击视频区域重新显示
- vue文件运行非app环境自动加载,nvue文件运行app环境自动加载
<template>
<view>
<x-video ref="videoPlayer" :src="videoSrc" :progress="progress" @play="videoPlay"
@pause="videoPause" @ended="videoEnded" @timeupdate="videoTimeUp" @loadeddata="videoLoaded"
@seeking="videoSeeking" @seeked="videoSeeked" @error="videoError"/>
</view>
</template>
export default {
data() {
return {
videoSrc:"",
progress:0
}
},
methods:{
// 视频信息加载完成
videoLoaded(durationTime) {},
// 当前播放时间
videoTimeUp(currentTime) {},
// 点击原始播放
videoPlay() {},
// 正在拖动
videoSeeking() {},
// 拖动结束
videoSeeked() {},
// 触发暂停
videoPause() {},
// 播放结束
videoEnded() {},
// 播放错误
videoError() {}
}
}
API
属性名 |
类型 |
可选值 |
默认值 |
说明 |
videoId |
String |
- |
myVideo |
视频ID |
src |
String |
- |
- |
视频地址 |
autoplay |
Boolean |
- |
true |
自动播放 |
poster |
String |
- |
- |
视频封面 |
progress |
Number |
- |
- |
初始播放进度 |
width |
String |
- |
100% |
视频宽度 |
height |
String |
- |
484rpx |
视频高度 |
step |
Number |
- |
1 |
步长 |
errorTip |
String |
- |
播放错误 |
播放错误Toast提示 |
showRate |
Boolean |
- |
true |
是否展示倍速 |
playbackRates |
Array |
- |
[0.8, 1, 1.25, 1.5, 2] |
播放速率 |