更新记录
0.1.0(2026-04-27)
gy-video-player-pro 作为独立商品首次发布
- 恢复完整 props、事件与
createVideoContext 控制能力
- 当前定价调整为
599 / 599,实际销售口径以源码授权版为主
- 当前商品口径只承诺
uni-app Vue3 + HarmonyOS
平台兼容性
uni-app
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| × |
- |
× |
× |
× |
× |
× |
× |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
鸿蒙原生视频播放器 Pro(gy-video-player-pro)
适用于 uni-app Vue3 的 HarmonyOS 原生视频播放器 Pro 插件。
当前 Pro 包基于 master 分支的完整代码基线重建,恢复了完整的 props 设计、播放器事件和 createVideoContext 控制能力,但当前上架版本只承诺 HarmonyOS。
当前版本定位
- 当前商品定位为 HarmonyOS 完整功能版
- 当前定价:普通授权版
599 元,源码授权版 599 元
- 实际销售口径以源码授权版为主,如需完整源码请直接购买源码授权
- 受插件市场付费规则限制,源码授权价需与普通授权价同时配置
gy-video-player 为独立的 Lite 免费试用包
支持平台
| 平台 |
状态 |
| HarmonyOS |
✅ 当前上架版本支持 |
| Android |
❌ 当前商品不承诺 |
| iOS |
❌ 当前商品不承诺 |
| Web |
❌ 当前商品不承诺 |
| 微信小程序 |
❌ 当前商品不承诺 |
说明:源代码保留了来自 master 的多平台目录结构,但当前商品只按 HarmonyOS 交付、文档和售后。
当前 Harmony 版核心能力
- 播放 / 暂停 / 停止
- 进度条拖动与
seek()
- 倍速切换
- 全屏切换
- 顶部标题栏
- 返回 / 更多按钮
timeupdate 与 loadedmetadata 事件
createVideoContext 基础控制
基本用法
<template>
<gy-video-player-pro
video-id="demo-player"
:src="videoSrc"
:controls="false"
:autoplay="true"
title="鸿蒙演示视频"
:show-back-btn="true"
:show-more-btn="true"
@ready="onReady"
@play="onPlay"
@pause="onPause"
@timeupdate=""
@loadedmetadata=""
@fullscreenchange=""
@error="onError"
@back="onBack"
@more="onMore"
/>
</template>
<script>
import { createVideoContext } from '@/uni_modules/gy-video-player-pro'
export default {
data() {
return {
videoSrc: 'https://example.com/demo.m3u8',
playerContext: null
}
},
mounted() {
this.playerContext = createVideoContext('demo-player')
},
methods: {
onReady() {
console.log('播放器已就绪')
},
onPlay() {
console.log('开始播放')
},
onPause() {
console.log('暂停播放')
},
(e) {
console.log('播放进度', e.currentTime, e.duration)
},
(e) {
console.log('元数据', e.duration, e.width, e.height)
},
(e) {
console.log('全屏状态', e.fullScreen)
},
onBack() {
uni.navigateBack()
},
onMore() {
uni.showToast({ title: '更多操作预留', icon: 'none' })
},
onError(e) {
console.log('播放失败', e.errMsg)
}
}
}
</script>
组件属性
当前 Pro 仍保留 master 基线中的完整 props 设计,其中 Harmony 版本重点可用的属性包括:
| 属性 |
类型 |
默认值 |
说明 |
| video-id |
String |
必填 |
播放器唯一标识 |
| src |
String |
'' |
视频地址 |
| poster |
String |
'' |
封面地址 |
| autoplay |
Boolean |
false |
是否自动播放 |
| loop |
Boolean |
false |
是否循环播放 |
| muted |
Boolean |
false |
是否静音 |
| controls |
Boolean |
true |
是否启用系统原生控件 |
| initial-time |
Number |
0 |
初始播放位置 |
| object-fit |
String |
contain |
视频填充模式 |
| show-fullscreen-btn |
Boolean |
true |
是否显示全屏按钮 |
| show-play-btn |
Boolean |
true |
是否显示底部播放按钮 |
| show-center-play-btn |
Boolean |
true |
是否显示中间播放按钮 |
| show-mute-btn |
Boolean |
false |
是否显示静音按钮 |
| enable-progress-gesture |
Boolean |
true |
是否开启进度手势 |
| enable-play-gesture |
Boolean |
false |
是否开启双击播放/暂停手势 |
| title |
String |
'' |
顶部标题 |
| is-live |
Boolean |
false |
是否为直播源 |
| show-back-btn |
Boolean |
true |
是否显示返回按钮 |
| show-more-btn |
Boolean |
false |
是否显示更多按钮 |
Harmony 已验证事件
| 事件 |
说明 |
回调参数 |
@ready |
播放器准备完成 |
- |
@play |
开始 / 继续播放 |
- |
@pause |
暂停播放 |
- |
@ended |
播放结束 |
- |
@statechange |
播放器状态变化 |
{ state } |
@timeupdate |
播放进度变化 |
{ currentTime, duration } |
@loadedmetadata |
元数据准备完成 |
{ width, height, duration } |
@fullscreenchange |
全屏切换 |
{ fullScreen, direction } |
@error |
播放失败 |
{ errMsg } |
@back |
点击返回按钮 |
- |
@more |
点击更多按钮 |
- |
state 取值:idle / prepared / playing / paused / stopped / finished / error
createVideoContext
import { createVideoContext } from '@/uni_modules/gy-video-player-pro'
const ctx = createVideoContext('demo-player')
ctx.play()
ctx.pause()
ctx.stop()
ctx.seek(30)
ctx.playbackRate(2.0)
ctx.requestFullScreen()
ctx.exitFullScreen()
方法列表
| 方法 |
说明 |
play() |
播放 |
pause() |
暂停 |
stop() |
停止 |
seek(position) |
跳转到指定秒数 |
playbackRate(rate) |
设置倍速 |
requestFullScreen() |
进入全屏 |
exitFullScreen() |
退出全屏 |
当前版本说明
- 当前 Pro 包已经回到
master 的完整代码基线,不再沿用 Lite 分支复制出来的精简实现。
- Harmony 商品口径只承诺当前文档列出的能力;源代码中的其他平台目录不代表当前版本对这些平台提供支持。
- 请通过插件根目录
@/uni_modules/gy-video-player-pro 导入,不要直接引用内部文件。