Iniziato
Copia un prompt di configurazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
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.
Puoi utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo competenze al tuo strumento AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi utilizza il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-youtube-player` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche per la piattaforma riportate di seguito:
bun add @capgo/capacitor-youtube-playerbunx cap syncimport { YoutubePlayer } from '@capgo/capacitor-youtube-player';Risolvi il Blocco Referente di YouTube nella WebView principale
Titolo della sezione “Risolvi il Blocco Referente di YouTube nella WebView principale”Se YouTube funziona all'interno del plugin ma fallisce quando lo stesso app carica pagine, embed o API di YouTube attraverso la WebView principale di Capacitor, abilita patchRefererHeader abilita nella tua configurazione di Capacitor.
Quando abilitato, il plugin patcha Capacitor durante la sincronizzazione/aggiornamento, in modo che le richieste YouTube intercettate includano un intestazione valida. Referer Copia nel portapenne
{ "plugins": { "YoutubePlayer": { "patchRefererHeader": true, "refererHeader": "https://www.youtube.com" } }}- e le richieste sono interessate.
youtube.com,youtube-nocookie.comLe richieste che già definiscono un'intestazione mantengono il loro valore originale.youtu.beSolo le richieste che non hanno un'intestazione sono interessate. - Le richieste che già hanno un'intestazione mantengono il loro valore originale.
RefererCopia nel portapenne refererHeaderè facoltativo e si attiva per impostazione predefinitahttps://www.youtube.com.- Supported on Capacitor
8.xper le piattaforme iOS e Android installate.
API Overview
Section titled “API Overview”initialize
Sezione intitolata “inizializzazione”Inizializza una nuova istanza del player YouTube.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.initialize({ playerId: 'my-player', videoId: 'dQw4w9WgXcQ', playerSize: { width: 640, height: 360 }, privacyEnhanced: true});Distruggi un'istanza del player e libera le risorse.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.destroy({} as PlayerIdOptions);stopVideo
Sezione intitolata “fermaVideo”Interrompi la riproduzione del video e annulla il caricamento. Usalo con parsimonia - pauseVideo() è di solito preferito.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.stopVideo({} as PlayerIdOptions);playVideo
Sottosezione intitolata “playVideo”Riproduci il video attualmente caricato o caricato. Lo stato finale del player sarà PLAYING (1).
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideo({} as PlayerIdOptions);pauseVideo
Sottosezione intitolata “pauseVideo”Pausa la riproduzione del video attualmente in corso. Lo stato finale del player sarà PAUSED (2), a meno che non sia già ENDED (0).
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.pauseVideo({} as PlayerIdOptions);Ricerca un momento specifico nel video. Se il player è in pausa, rimane in pausa. Se sta riproducendo, continua a riprodurre.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.seekTo({} as SeekToOptions);loadVideoById
Sottosezione intitolata “loadVideoById”Carica e riproduci un video con l'ID di YouTube.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoById({} as VideoByIdMethodOptions);cueVideoById
Sezione intitolata “cueVideoById”Cue un video per ID senza riprodurlo. Carica la miniatura e prepara il player, ma non richiede il video fino a quando non viene chiamato playVideo().
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoById({} as VideoByIdMethodOptions);loadVideoByUrl
Sezione intitolata “loadVideoByUrl”Carica e riproduci un video con l'intero URL.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoByUrl({} as VideoByUrlMethodOptions);cueVideoByUrl
Sezione intitolata “cueVideoByUrl”Cue un video per URL senza riprodurlo.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoByUrl({} as VideoByUrlMethodOptions);cuePlaylist
Sezione intitolata “cuePlaylist”Cue una playlist senza riprodurla. Carica la playlist e prepara il primo video.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cuePlaylist({} as PlaylistMethodOptions);loadPlaylist
Sottosezione intitolata “caricaPlaylist”Carica e riproduci una playlist.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadPlaylist({} as PlaylistMethodOptions);Riproduci il prossimo video della playlist.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.nextVideo({} as PlayerIdOptions);previousVideo
Sottosezione intitolata “videoPrecedente”Riproduci il video precedente della playlist.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.previousVideo({} as PlayerIdOptions);playVideoAt
Sottosezione intitolata “riprodudiVideoAll”Gioca un video specifico nella playlist per indice.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideoAt({} as PlayVideoAtOptions);Sorvola l'audio del player.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.mute({} as PlayerIdOptions);Sorvola non l'audio del player.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.unMute({} as PlayerIdOptions);Controlla se il player è attualmente sorvolato.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.isMuted({} as PlayerIdOptions);setVolume
Sezione intitolata “imposta volume”Imposta il livello di volume del lettore.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setVolume({} as SetVolumeOptions);getVolume
Sezione intitolata “getVolume”Ottieni il livello di volume corrente del lettore. Restituisce il volume anche se il lettore è spento.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVolume({} as PlayerIdOptions);setSize
Sezione intitolata “setSize”Imposta le dimensioni del lettore in pixel.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setSize({} as SetSizeOptions);getPlaybackRate
Sezione intitolata “getPlaybackRate”Ottieni il tasso di riproduzione corrente.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackRate({} as PlayerIdOptions);setPlaybackRate
Sezione intitolata “setPlaybackRate”Imposta la velocità di riproduzione.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackRate({} as SetPlaybackRateOptions);getAvailablePlaybackRates
Sottosezione intitolata “getAvailablePlaybackRates”Ottieni l'elenco delle velocità di riproduzione disponibili per il video corrente.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailablePlaybackRates({} as PlayerIdOptions);Abilita o disabilita il loop della playlist. Quando abilitato, la playlist riprenderà dal principio dopo l'ultimo video.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setLoop({} as SetLoopOptions);setShuffle
Sottosezione intitolata “setShuffle”Abilita o disabilita lo scorrimento casuale della playlist.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setShuffle({} as SetShuffleOptions);getVideoLoadedFraction
Sottosezione intitolata “getVideoLoadedFraction”Ottieni la frazione del video che è stata caricata. Più affidabile rispetto alle funzioni obsolete getVideoBytesLoaded/getVideoBytesTotal.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoLoadedFraction({} as PlayerIdOptions);getPlayerState
Sottosezione intitolata “getPlayerState”Ottieni lo stato corrente del player.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlayerState({} as PlayerIdOptions);getAllPlayersEventsState
Sottosezione intitolata “getAllPlayersEventsState”Ottieni gli stati degli eventi per tutti i player attivi. Utile per il tracciamento di più istanze di player.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAllPlayersEventsState();getCurrentTime
Sottosezione intitolata “getCurrentTime”Ottieni la posizione di riproduzione corrente in secondi.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getCurrentTime({} as PlayerIdOptions);toggleFullScreen
Sottosezione intitolata “toggleFullScreen”Attiva o disattiva il fullscreen.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.toggleFullScreen({} as ToggleFullScreenOptions);getPlaybackQuality
Sezione intitolata “getPlaybackQuality”Ottieni la qualità di riproduzione corrente.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackQuality({} as PlayerIdOptions);setPlaybackQuality
Sezione intitolata “setPlaybackQuality”Imposta la qualità di riproduzione consigliata. La qualità effettiva può differire in base alle condizioni di rete.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackQuality({} as SetPlaybackQualityOptions);getAvailableQualityLevels
Sezione intitolata “getAvailableQualityLevels”Ottieni l'elenco delle qualità disponibili per il video corrente.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailableQualityLevels({} as PlayerIdOptions);getDuration
Sezione intitolata “getDuration”Ottieni la durata del video corrente in secondi.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getDuration({} as PlayerIdOptions);getVideoUrl
Sezione intitolata “getVideoUrl”Ottieni l'URL YouTube.com per il video corrente.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoUrl({} as PlayerIdOptions);getVideoEmbedCode
Sezione intitolata “getVideoEmbedCode”Ottieni il codice di embed code per il video corrente. Restituisce un codice di embed HTML iframe code.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoEmbedCode({} as PlayerIdOptions);getPlaylist
Sezione intitolata “getPlaylist”Ottieni un array degli ID dei video nella playlist corrente.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylist({} as PlayerIdOptions);getPlaylistIndex
Sezione intitolata “getPlaylistIndex”Estrai l'indice del video in corso di riproduzione nella playlist.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylistIndex({} as PlayerIdOptions);getIframe
Sottosezione intitolata “getIframe”Estrai l'elemento DOM iframe del player. Solo piattaforma web.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getIframe({} as PlayerIdOptions);addEventListener
Sottosezione intitolata “addEventListener”Aggiungi un ascoltatore di eventi al player. Solo piattaforma web.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
YoutubePlayer.addEventListener({ playerId: 'my-player', eventName: 'onStateChange', listener: (event) => { console.log('Player state:', event.data); },});removeEventListener
Sottosezione intitolata “removeEventListener”Rimuovi l'ascoltatore di eventi dal player. Solo piattaforma web.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.removeEventListener({} as PlayerEventListenerOptions<TEvent>);Riferimento di tipo
Sezione intitolata “Riferimento di tipo”PlayerIdOptions
Sezione intitolata “Opzioni per PlayerId”export interface PlayerIdOptions { playerId: string;}SeekToOptions
Sezione intitolata “Opzioni per SeekTo”export interface SeekToOptions extends PlayerIdOptions { playerId: string; seconds: number; allowSeekAhead: boolean;}VideoByIdMethodOptions
Sezione intitolata “Opzioni per VideoByIdMethod”export interface VideoByIdMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsById;}VideoByUrlMethodOptions
Sezione intitolata “Opzioni per VideoByUrlMethod”export interface VideoByUrlMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsByUrl;}PlaylistMethodOptions
Sezione intitolata “Opzioni per PlaylistMethod”export interface PlaylistMethodOptions extends PlayerIdOptions { playerId: string; playlistOptions: IPlaylistOptions;}PlayVideoAtOptions
Sezione intitolata “Opzioni per PlayVideoAt”export interface PlayVideoAtOptions extends PlayerIdOptions { playerId: string; index: number;}SetVolumeOptions
Sottosezione intitolata “Impostazioni del volume”export interface SetVolumeOptions extends PlayerIdOptions { playerId: string; volume: number;}SetSizeOptions
Sottosezione intitolata “Impostazioni delle dimensioni”export interface SetSizeOptions extends PlayerIdOptions { playerId: string; width: number; height: number;}SetPlaybackRateOptions
Sottosezione intitolata “Impostazioni del tasso di riproduzione”export interface SetPlaybackRateOptions extends PlayerIdOptions { playerId: string; suggestedRate: number;}SetLoopOptions
Sottosezione intitolata “Impostazioni del loop”export interface SetLoopOptions extends PlayerIdOptions { playerId: string; loopPlaylists: boolean;}export interface SetShuffleOptions extends PlayerIdOptions { playerId: string; shufflePlaylist: boolean;}ToggleFullScreenOptions
Sottosezione intitolata “Impostazioni per l’anteprima a schermo intero”export interface ToggleFullScreenOptions extends PlayerIdOptions { playerId: string; isFullScreen: boolean | null | undefined;}Fonte di Verità
Sezione intitolata “Fonte di Verità”Questa pagina è generata dal plugin’s src/definitions.tsRiepilogo. Riepilogare la sincronizzazione quando le informazioni pubbliche API cambiano in fase di sviluppo.
Continua da qui: Iniziare
Se stai utilizzandoIniziare per pianificare il dashboard e le operazioni __CAPGO_KEEP_0__, connettilo con Usando @API/__CAPGO_KEEP_1__-player di YouTube per la capacità nativa in Usando @capgo/capacitor-player di YouTube, for the native capability in Using @capgo/capacitor-youtube-player, API Panoramica per i dettagli di implementazione in API Panoramica, Introduzione per i dettagli di implementazione in Introduzione, API Chiavi per i dettagli di implementazione in API Chiavi, e Dispositivi per i dettagli di implementazione in Dispositivi.