Getting Started
复制一个包含安装步骤和本插件的完整Markdown指南的设置命令。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-youtube-player`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/youtube-player/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
您可以使用我们的AI辅助设置来安装插件。使用以下命令将Capgo技能添加到您的AI工具中:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下提示:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-youtube-player` plugin in my project.如果您更喜欢手动设置,请运行以下命令安装插件,并按照以下平台特定的说明进行操作:
bun add @capgo/capacitor-youtube-playerbunx cap sync导入
标题为“导入”import { YoutubePlayer } from '@capgo/capacitor-youtube-player';修复主 WebView 中的 YouTube Referer 阻塞
标题为“修复主 WebView 中的 YouTube Referer 阻塞”如果 YouTube 在插件内部正常工作,但是在同一个应用加载 YouTube 页面、嵌入或 API 时失败,通过 Capacitor 的主 WebView,请启用 patchRefererHeader 在您的 Capacitor 配置中
启用后,插件将在同步/更新期间修补 Capacitor,以便拦截的 YouTube 请求包含有效的 Referer 复制到剪贴板
{ "plugins": { "YoutubePlayer": { "patchRefererHeader": true, "refererHeader": "https://www.youtube.com" } }}- Only
youtube.com,youtube-nocookie.com和youtu.be请求受影响。 - 已定义的
Referer请求将保留其原始值。 refererHeader是可选的,且默认值为https://www.youtube.com.- 支持在 Capacitor 上
8.x适用于已安装的 iOS 和 Android 平台。
API 概述
标题:API 概述initialize
标题:初始化初始化一个新的 YouTube 播放器实例。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.initialize({ playerId: 'my-player', videoId: 'dQw4w9WgXcQ', playerSize: { width: 640, height: 360 }, privacyEnhanced: true});destroy
标题:销毁销毁一个播放器实例并释放资源。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.destroy({} as PlayerIdOptions);复制到剪贴板
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.stopVideo({} as PlayerIdOptions);playVideo
Section titled “playVideo”播放当前缓冲或已加载的视频。 最终播放器状态将为PLAYING (1).
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideo({} as PlayerIdOptions);pauseVideo
Section titled “pauseVideo”暂停当前播放的视频。 最终播放器状态将为PAUSED (2),除非已经结束 (0).
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.pauseVideo({} as PlayerIdOptions);seekTo
Section titled “seekTo”在视频中寻找特定时间。 如果播放器暂停,则保持暂停状态。如果正在播放,则继续播放。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.seekTo({} as SeekToOptions);loadVideoById
Section titled “loadVideoById”通过 YouTube ID 加载并播放视频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoById({} as VideoByIdMethodOptions);cueVideoById
Section titled “cueVideoById”通过 ID 引用视频,但不播放。 加载缩略图并准备播放器,但直到调用 playVideo() 才请求视频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoById({} as VideoByIdMethodOptions);loadVideoByUrl
Section titled “loadVideoByUrl”通过其完整 URL 加载并播放视频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoByUrl({} as VideoByUrlMethodOptions);cueVideoByUrl
Section titled “cueVideoByUrl”通过 URL 引用视频,但不播放。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoByUrl({} as VideoByUrlMethodOptions);cuePlaylist
Section titled “cuePlaylist”通过 ID 引用播放列表,但不播放。 加载播放列表并准备首个视频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cuePlaylist({} as PlaylistMethodOptions);loadPlaylist
《loadPlaylist》加载并播放播放列表
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadPlaylist({} as PlaylistMethodOptions);nextVideo
《nextVideo》在播放列表中播放下一个视频
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.nextVideo({} as PlayerIdOptions);previousVideo
《previousVideo》在播放列表中播放上一个视频
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.previousVideo({} as PlayerIdOptions);playVideoAt
《playVideoAt》通过索引在播放列表中播放特定视频
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideoAt({} as PlayVideoAtOptions);mute
静音静音播放器音频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.mute({} as PlayerIdOptions);unMute
取消静音取消静音播放器音频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.unMute({} as PlayerIdOptions);isMuted
检查播放器是否处于静音状态。复制到剪贴板
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.isMuted({} as PlayerIdOptions);setVolume
复制到剪贴板protectedTokens
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setVolume({} as SetVolumeOptions);getVolume
Section titled “getVolume”获取当前播放器音量级别。 返回音量,即使播放器处于静音状态。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVolume({} as PlayerIdOptions);setSize
Section titled “setSize”设置播放器尺寸(以像素为单位)。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setSize({} as SetSizeOptions);getPlaybackRate
Section titled “getPlaybackRate”获取当前播放速率。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackRate({} as PlayerIdOptions);setPlaybackRate
Section titled “setPlaybackRate”设置播放速度。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackRate({} as SetPlaybackRateOptions);getAvailablePlaybackRates
Section titled “getAvailablePlaybackRates”获取当前视频的可用播放速率列表。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailablePlaybackRates({} as PlayerIdOptions);setLoop
Section titled “setLoop”开启或关闭循环播放。 开启后,播放列表将在最后一视频后重新开始。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setLoop({} as SetLoopOptions);setShuffle
Section titled “setShuffle”开启或关闭播放列表混洗。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setShuffle({} as SetShuffleOptions);getVideoLoadedFraction
Section titled “getVideoLoadedFraction”获取视频缓冲的百分比。 比废弃的getVideoBytesLoaded/getVideoBytesTotal更可靠。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoLoadedFraction({} as PlayerIdOptions);getPlayerState
getPlayerState获取当前玩家状态
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlayerState({} as PlayerIdOptions);getAllPlayersEventsState
getAllPlayersEventsState获取所有活跃玩家事件状态 用于跟踪多个玩家实例
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAllPlayersEventsState();getCurrentTime
getCurrentTime获取当前播放位置(秒)
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getCurrentTime({} as PlayerIdOptions);toggleFullScreen
toggleFullScreen切换全屏模式
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.toggleFullScreen({} as ToggleFullScreenOptions);getPlaybackQuality
获取播放质量获取当前播放质量。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackQuality({} as PlayerIdOptions);setPlaybackQuality
设置建议的播放质量。
实际质量可能根据网络条件而有所不同。复制到剪贴板
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackQuality({} as SetPlaybackQualityOptions);getAvailableQualityLevels
复制到剪贴板获取当前视频的持续时间(以秒为单位)。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailableQualityLevels({} as PlayerIdOptions);getDuration
translationsgetPlaybackQuality
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getDuration({} as PlayerIdOptions);getVideoUrl
获取视频URL获取当前视频的YouTube.com URL。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoUrl({} as PlayerIdOptions);getVideoEmbedCode
获取当前视频的嵌入式代码Get the embed code for the current video. Returns HTML iframe embed code.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoEmbedCode({} as PlayerIdOptions);getPlaylist
获取当前播放列表中的视频 ID 数组复制到剪贴板
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylist({} as PlayerIdOptions);getPlaylistIndex
复制到剪贴板获取当前视频的嵌入式代码 返回 HTML iframe 嵌入式代码
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylistIndex({} as PlayerIdOptions);getIframe
获取 iframe获取播放器 iframe DOM 元素。 仅限 Web 平台。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getIframe({} as PlayerIdOptions);addEventListener
添加事件监听器添加事件监听器到播放器。 仅限 Web 平台。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
YoutubePlayer.addEventListener({ playerId: 'my-player', eventName: 'onStateChange', listener: (event) => { console.log('Player state:', event.data); },});removeEventListener
移除事件监听器从播放器移除事件监听器。 仅限 Web 平台。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.removeEventListener({} as PlayerEventListenerOptions<TEvent>);类型参考
类型参考PlayerIdOptions
PlayerIdOptionsexport interface PlayerIdOptions { playerId: string;}SeekToOptions
标题:“SeekToOptions”export interface SeekToOptions extends PlayerIdOptions { playerId: string; seconds: number; allowSeekAhead: boolean;}VideoByIdMethodOptions
标题:“VideoByIdMethodOptions”export interface VideoByIdMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsById;}VideoByUrlMethodOptions
标题:“VideoByUrlMethodOptions”export interface VideoByUrlMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsByUrl;}PlaylistMethodOptions
标题:“PlaylistMethodOptions”export interface PlaylistMethodOptions extends PlayerIdOptions { playerId: string; playlistOptions: IPlaylistOptions;}PlayVideoAtOptions
标题:“PlayVideoAtOptions”export interface PlayVideoAtOptions extends PlayerIdOptions { playerId: string; index: number;}SetVolumeOptions
标题:“SetVolumeOptions”export interface SetVolumeOptions extends PlayerIdOptions { playerId: string; volume: number;}SetSizeOptions
标题:设置大小选项export interface SetSizeOptions extends PlayerIdOptions { playerId: string; width: number; height: number;}SetPlaybackRateOptions
标题:设置播放速度选项export interface SetPlaybackRateOptions extends PlayerIdOptions { playerId: string; suggestedRate: number;}SetLoopOptions
标题:设置循环选项export interface SetLoopOptions extends PlayerIdOptions { playerId: string; loopPlaylists: boolean;}SetShuffleOptions
标题:设置混洗选项export interface SetShuffleOptions extends PlayerIdOptions { playerId: string; shufflePlaylist: boolean;}ToggleFullScreenOptions
标题:切换全屏选项export interface ToggleFullScreenOptions extends PlayerIdOptions { playerId: string; isFullScreen: boolean | null | undefined;}真实来源
数据源本页面由插件生成 src/definitions.ts.当公共 API 上游发生变化时,请重新运行同步
从开始
从开始如果您正在使用 开始 来规划仪表板和 API 操作,连接它 使用 @capgo/capacitor-youtube-player 为本地能力在使用 @capgo/capacitor-youtube-player 中 API 概述 在 API 概述 中了解实现细节 简介 简介中的实现细节 API 键 API 键中的实现细节 设备 设备中的实现细节