更新记录
0.1.0(2026-04-20)
0.1.0(2026-04-19)
- 鸿蒙原生视频播放器插件首发版发布
- 支持范围为
uni-app + HarmonyOS
- 自定义控制栏支持播放/暂停、进度条拖动、倍速、全屏、标题栏、返回/更多按钮
- 提供
createVideoContext 基础控制能力,支持播放、暂停、倍速与全屏控制
- 完善 README、示例页和插件市场元数据
- 首发售价为普通授权 99 元、源码授权 399 元
平台兼容性
uni-app(4.87)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| × |
√ |
× |
× |
× |
× |
× |
× |
√ |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
鸿蒙原生视频播放器(gy-video-player)
适用于 uni-app 的 HarmonyOS 原生视频播放器插件,首发版聚焦 6 个核心能力:
- 播放 / 暂停
- 全屏切换
- 倍速切换
- 进度条拖动
- 顶部标题栏
- 返回 / 更多按钮事件
支持平台
| 平台 |
状态 |
| HarmonyOS |
✅ 支持 |
| Android |
❌ 不支持 |
| iOS |
❌ 不支持 |
| Web |
❌ 不支持 |
| 微信小程序 |
❌ 不支持 |
版本说明
- 普通授权版:
99 元
- 源码授权版:
399 元
- 两个版本的运行能力一致,差异只在于是否提供源码及二次开发权限
安装方式
在 HBuilderX 中将插件导入到项目的 uni_modules 目录。
基本用法
<template>
<gy-video-player
video-id="demo-player"
:src="videoSrc"
:autoplay="true"
:controls="false"
title="鸿蒙演示视频"
:show-back-btn="true"
:show-more-btn="true"
@back="onBack"
@more="onMore"
@play="onPlay"
@pause="onPause"
@fullscreenchange=""
@error="onError"
/>
</template>
<script>
import { createVideoContext } from '@/uni_modules/gy-video-player'
export default {
data() {
return {
videoSrc: 'https://example.com/demo.m3u8',
playerContext: null
}
},
mounted() {
this.playerContext = createVideoContext('demo-player')
},
methods: {
onPlay() {
console.log('开始播放')
},
onPause() {
console.log('暂停播放')
},
(e) {
console.log('全屏状态', e.fullScreen)
},
onBack() {
uni.navigateBack()
},
onMore() {
uni.showToast({ title: '更多操作预留', icon: 'none' })
},
onError(e) {
console.log('播放失败', e.errMsg)
}
}
}
</script>
组件属性
| 属性 |
类型 |
默认值 |
说明 |
| video-id |
String |
必填 |
播放器唯一标识 |
| src |
String |
'' |
视频地址 |
| poster |
String |
'' |
封面地址 |
| autoplay |
Boolean |
false |
是否自动播放 |
| loop |
Boolean |
false |
是否循环播放 |
| muted |
Boolean |
false |
是否静音 |
| controls |
Boolean |
false |
是否启用系统原生控件 |
| playback-rate |
Number |
1 |
初始倍速 |
| title |
String |
'' |
顶部标题 |
| show-back-btn |
Boolean |
true |
是否显示返回按钮 |
| show-more-btn |
Boolean |
false |
是否显示更多按钮 |
事件
| 事件 |
说明 |
回调参数 |
@ready |
播放器准备完成 |
- |
@play |
开始播放 |
- |
@pause |
暂停播放 |
- |
@ended |
播放结束 |
- |
@statechange |
播放器状态变化 |
{ state } |
@fullscreenchange |
全屏切换 |
{ fullScreen } |
@error |
播放失败 |
{ errMsg } |
@back |
点击返回按钮 |
- |
@more |
点击更多按钮 |
- |
state 取值:idle / prepared / playing / paused / finished / error
createVideoContext
import { createVideoContext } from '@/uni_modules/gy-video-player'
const ctx = createVideoContext('demo-player')
ctx.play()
ctx.pause()
ctx.playbackRate(2.0)
ctx.requestFullScreen()
ctx.exitFullScreen()
方法列表
| 方法 |
说明 |
play() |
播放 |
pause() |
暂停 |
playbackRate(rate) |
设置倍速 |
requestFullScreen() |
进入全屏 |
exitFullScreen() |
退出全屏 |
当前版本说明
- 首发版故意保持轻量,保留播放、倍速、全屏、进度条拖动和顶部栏等高频能力。
- 当前版本不包含双击切换播放、手势快进等复杂交互。
- 插件默认使用自定义轻量控制栏;若设置
controls 为 true,将使用系统原生控件。
- 请通过插件根目录
@/uni_modules/gy-video-player 导入,不要直接引用内部文件。