开始使用
复制一个包含安装步骤和此插件的完整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 阻塞If YouTube works inside the plugin but fails when the same app loads YouTube pages, embeds, or APIs through Capacitor’s main WebView, enable patchRefererHeader in your Capacitor config.
When enabled, the plugin patches Capacitor during sync/update so intercepted YouTube requests include a valid Referer 复制到剪贴板
{ "plugins": { "YoutubePlayer": { "patchRefererHeader": true, "refererHeader": "https://www.youtube.com" } }}- ,
youtube.com,youtube-nocookie.com请求会受到影响。youtu.be已经定义了 - header
Refererheader 保持原始值。 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);stopVideo
Section titled “stopVideo”停止视频播放并取消加载。 尽量少用此方法 - 使用pauseVideo()通常更好。
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”播放列表的提示
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cuePlaylist({} as PlaylistMethodOptions);loadPlaylist
Section titled “loadPlaylist”播放列表
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadPlaylist({} as PlaylistMethodOptions);nextVideo
Section titled “nextVideo”播放下一个视频
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.nextVideo({} as PlayerIdOptions);previousVideo
Section titled “previousVideo”播放上一个视频
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.previousVideo({} as PlayerIdOptions);playVideoAt
Section titled “playVideoAt”通过索引播放播放列表中的特定视频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideoAt({} as PlayVideoAtOptions);静音播放器音频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.mute({} as PlayerIdOptions);unMute
Section titled “unMute”取消静音播放器音频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.unMute({} as PlayerIdOptions);isMuted
Section titled “isMuted”检查播放器是否静音。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.isMuted({} as PlayerIdOptions);setVolume
Section titled “setVolume”设置播放器音量级别
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
节标题:设置播放速度设置播放速度
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackRate({} as SetPlaybackRateOptions);getAvailablePlaybackRates
节标题:获取可用播放速度获取当前视频的可用播放速度列表
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailablePlaybackRates({} as PlayerIdOptions);setLoop
节标题:设置循环播放启用或禁用循环播放。 循环播放启用后,播放列表将从头开始重复播放最后一段视频。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setLoop({} as SetLoopOptions);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
Section titled “getPlayerState”获取播放器的当前状态。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlayerState({} as PlayerIdOptions);getAllPlayersEventsState
Section titled “getAllPlayersEventsState”获取所有活动播放器的事件状态。 对于跟踪多个播放器实例很有用。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAllPlayersEventsState();getCurrentTime
Section titled “getCurrentTime”获取当前播放位置(以秒为单位)。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getCurrentTime({} as PlayerIdOptions);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
protectedTokenspagePath
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailableQualityLevels({} as PlayerIdOptions);getDuration
Section titled “getDuration”获取当前视频的时长(秒)。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getDuration({} as PlayerIdOptions);getVideoUrl
Section titled “getVideoUrl”获取当前视频的 YouTube.com URL。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoUrl({} as PlayerIdOptions);getVideoEmbedCode
Section titled “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
Section titled “getPlaylist”获取当前播放列表中的视频 ID 数组。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylist({} as PlayerIdOptions);getPlaylistIndex
Section titled “获取播放列表索引”获取当前播放视频在播放列表中的索引。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylistIndex({} as PlayerIdOptions);getIframe
Section titled “获取iframe”获取播放器的iframe DOM元素。 仅限Web平台。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getIframe({} as PlayerIdOptions);addEventListener
Section titled “添加事件监听器”为播放器添加事件监听器。 仅限Web平台。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
YoutubePlayer.addEventListener({ playerId: 'my-player', eventName: 'onStateChange', listener: (event) => { console.log('Player state:', event.data); },});removeEventListener
Section titled “移除事件监听器”从播放器移除事件监听器。 仅限Web平台。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.removeEventListener({} as PlayerEventListenerOptions<TEvent>);类型参考
类型参考PlayerIdOptions
PlayerIdOptionsexport interface PlayerIdOptions { playerId: string;}SeekToOptions
SeekToOptionsexport interface SeekToOptions extends PlayerIdOptions { playerId: string; seconds: number; allowSeekAhead: boolean;}VideoByIdMethodOptions
VideoByIdMethodOptionsexport interface VideoByIdMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsById;}VideoByUrlMethodOptions
VideoByUrlMethodOptionsexport interface VideoByUrlMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsByUrl;}PlaylistMethodOptions
PlaylistMethodOptionsexport interface PlaylistMethodOptions extends PlayerIdOptions { playerId: string; playlistOptions: IPlaylistOptions;}PlayVideoAtOptions
PlayVideoAt选项export interface PlayVideoAtOptions extends PlayerIdOptions { playerId: string; index: number;}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 密钥 的实现细节, 设备 为设备 的实现细节。