更新记录

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()
  • 倍速切换
  • 全屏切换
  • 顶部标题栏
  • 返回 / 更多按钮
  • timeupdateloadedmetadata 事件
  • 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 导入,不要直接引用内部文件。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。