跳转至正文

视频播放器 Capacitor 插件

支持字幕、全屏及完整控制功能的原生视频播放

安装

bun add @capgo/capacitor-video-player bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-video-player
  • pnpm add @capgo/capacitor-video-player
  • yarn add @capgo/capacitor-video-player

指南

如何在 Capacitor 中使用 Video Player

在设备上测试

下载 Capgo App,然后扫描二维码 code。

Video Player 插件预览二维码 code

使用 @capgo/capacitor-video-player

使用 Capacitor 插件在原生播放器中播放视频。

安装

bun add @capgo/capacitor-video-player
bunx cap sync

bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。

导入

import { VideoPlayer } from '@capgo/capacitor-video-player';

API 概览

方法 描述
initPlayer 初始化视频播放器。
isPlaying 返回指定 playerId 是否正在播放。
play 播放指定 playerId 的当前视频。
pause 暂停指定 playerId 的当前视频。
getDuration 获取指定 playerId 的当前视频时长。
getCurrentTime 获取指定 playerId 当前视频的播放时间。
setCurrentTime 设置指定 playerId 当前视频的跳转时间。
getVolume 获取指定 playerId 当前视频的音量。
setVolume 设置指定 playerId 当前视频的音量。
getMuted 获取指定 playerId 当前视频是否静音。
setMuted 通过指定的 playerId 设置当前视频的静音状态。
setRate 通过指定的 playerId 设置当前视频的播放速率。
getRate 通过指定的 playerId 获取当前视频的播放速率。
stopAllPlayers 停止所有正在播放的播放器。
showController 显示控制器。
isControllerIsFullyVisible isControllerIsFullyVisible.
exitPlayer 退出播放器。
hidePlayer 隐藏当前显示的播放器 UI,但不停止播放(原生全屏模式)。
showPlayer 重新显示之前隐藏的播放器 UI(原生全屏模式)。

示例

initPlayer()

初始化视频播放器。

import { VideoPlayer } from '@capgo/capacitor-video-player';

const result = await VideoPlayer.initPlayer({ mode: 'fullscreen' });
console.log(result);

isPlaying()

返回指定 playerId 是否正在播放。

import { VideoPlayer } from '@capgo/capacitor-video-player';

const result = await VideoPlayer.isPlaying({ playerId: 'player-id-123' });
console.log(result);

play()

播放指定 playerId 的当前视频。

import { VideoPlayer } from '@capgo/capacitor-video-player';

const result = await VideoPlayer.play({ playerId: 'player-id-123' });
console.log(result);

pause()

暂停指定 playerId 的当前视频。

import { VideoPlayer } from '@capgo/capacitor-video-player';

const result = await VideoPlayer.pause({ playerId: 'player-id-123' });
console.log(result);

getDuration()

获取指定 playerId 的当前视频时长。

import { VideoPlayer } from '@capgo/capacitor-video-player';

const result = await VideoPlayer.getDuration({ playerId: 'player-id-123' });
console.log(result);

getCurrentTime()

获取指定 playerId 当前视频的播放时间。

import { VideoPlayer } from '@capgo/capacitor-video-player';

const result = await VideoPlayer.getCurrentTime({ playerId: 'player-id-123' });
console.log(result);

上表列出了 19 个核心方法。监听器、版本辅助函数以及每个方法的完整契约,详见 GitHub 仓库.

完整参考文档

从“使用 @capgo/capacitor-video-player”继续

如果你正在使用 使用 @capgo/capacitor-video-player 来规划原生媒体和界面行为,并将其与 @capgo/capacitor-video-player 有关 @capgo/capacitor-video-player 的实现细节, 快速入门 有关“入门指南”中的实现细节, 使用 @capgo/capacitor-live-activities 用于使用 @capgo/capacitor-live-activities 时的原生能力, @capgo/capacitor-live-activities 关于 @capgo/capacitor-live-activities 中的实现细节,以及 使用 @capgo/capacitor-native-navigation 用于使用 @capgo/capacitor-native-navigation. 时的原生能力

常见问题

Video Player 插件常见问题

如何在 Capacitor 应用中安装 Video Player 插件?

运行 "bun add @capgo/capacitor-video-player"(或 "npm install @capgo/capacitor-video-player"),然后运行 "bunx cap sync",让 iOS 和 Android 项目识别到原生 code。最后在应用 code 中从 "@capgo/capacitor-video-player" 导入它。

@capgo/capacitor-video-player 是否支持 React、Vue 和 Angular?

支持。Video Player 是一个 Capacitor package,因此它支持任何在 Capacitor 中运行的 Web framework,包括 Ionic、React、Vue、Angular、Svelte 以及原生 JavaScript。

@capgo/capacitor-video-player 支持哪个版本的 Capacitor?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-video-player 是免费开源的吗?

是的。code 的源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-video-player/,并且你可以直接从 npm 免费安装。欢迎提交 Bug report 或 pull request。

我可以在无需经过 App Store 审核的情况下,更新使用了 Video Player 的 code 吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待 App Store 审核,即可快速发布 Video Player 更新

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo