更新记录

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() 退出全屏

当前版本说明

  • 首发版故意保持轻量,保留播放、倍速、全屏、进度条拖动和顶部栏等高频能力。
  • 当前版本不包含双击切换播放、手势快进等复杂交互。
  • 插件默认使用自定义轻量控制栏;若设置 controlstrue,将使用系统原生控件。
  • 请通过插件根目录 @/uni_modules/gy-video-player 导入,不要直接引用内部文件。

隐私、权限声明

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

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

本插件不采集任何数据,不向任何服务器发送数据,不包含任何统计、埋点或远程上报功能。

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

暂无用户评论。