Saltare al contenuto

Iniziato

GitHub

Puoi utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo competenze al tuo strumento AI utilizzando il seguente comando:

Fermata di sistema
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Poi 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:

Fermata di sistema
bun add @capgo/capacitor-youtube-player
bunx cap sync
import { 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.be Solo le richieste che non hanno un'intestazione sono interessate.
  • Le richieste che già hanno un'intestazione mantengono il loro valore originale. Referer Copia nel portapenne
  • refererHeader è facoltativo e si attiva per impostazione predefinita https://www.youtube.com.
  • Supported on Capacitor 8.x per le piattaforme iOS e Android installate.

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);

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);

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);

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);

Carica e riproduci un video con l'ID di YouTube.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoById({} as VideoByIdMethodOptions);

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);

Carica e riproduci un video con l'intero URL.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoByUrl({} as VideoByUrlMethodOptions);

Cue un video per URL senza riprodurlo.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoByUrl({} as VideoByUrlMethodOptions);

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);

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);

Riproduci il video precedente della playlist.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.previousVideo({} as PlayerIdOptions);

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);

Imposta il livello di volume del lettore.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setVolume({} as SetVolumeOptions);

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);

Imposta le dimensioni del lettore in pixel.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setSize({} as SetSizeOptions);

Ottieni il tasso di riproduzione corrente.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackRate({} as PlayerIdOptions);

Imposta la velocità di riproduzione.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackRate({} as SetPlaybackRateOptions);

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);

Abilita o disabilita lo scorrimento casuale della playlist.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setShuffle({} as SetShuffleOptions);

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);

Ottieni lo stato corrente del player.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlayerState({} as PlayerIdOptions);

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();

Ottieni la posizione di riproduzione corrente in secondi.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getCurrentTime({} as PlayerIdOptions);

Attiva o disattiva il fullscreen.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.toggleFullScreen({} as ToggleFullScreenOptions);

Ottieni la qualità di riproduzione corrente.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackQuality({} as PlayerIdOptions);

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);

Ottieni l'elenco delle qualità disponibili per il video corrente.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailableQualityLevels({} as PlayerIdOptions);

Ottieni la durata del video corrente in secondi.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getDuration({} as PlayerIdOptions);

Ottieni l'URL YouTube.com per il video corrente.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoUrl({} as PlayerIdOptions);

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);

Ottieni un array degli ID dei video nella playlist corrente.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylist({} as PlayerIdOptions);

Estrai l'indice del video in corso di riproduzione nella playlist.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylistIndex({} as PlayerIdOptions);

Estrai l'elemento DOM iframe del player. Solo piattaforma web.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getIframe({} as PlayerIdOptions);

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);
},
});

Rimuovi l'ascoltatore di eventi dal player. Solo piattaforma web.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.removeEventListener({} as PlayerEventListenerOptions<TEvent>);
export interface PlayerIdOptions {
playerId: string;
}
export interface SeekToOptions extends PlayerIdOptions {
playerId: string;
seconds: number;
allowSeekAhead: boolean;
}
export interface VideoByIdMethodOptions extends PlayerIdOptions {
playerId: string;
options: IVideoOptionsById;
}
export interface VideoByUrlMethodOptions extends PlayerIdOptions {
playerId: string;
options: IVideoOptionsByUrl;
}
export interface PlaylistMethodOptions extends PlayerIdOptions {
playerId: string;
playlistOptions: IPlaylistOptions;
}
export interface PlayVideoAtOptions extends PlayerIdOptions {
playerId: string;
index: number;
}
export interface SetVolumeOptions extends PlayerIdOptions {
playerId: string;
volume: number;
}
export interface SetSizeOptions extends PlayerIdOptions {
playerId: string;
width: number;
height: number;
}
export interface SetPlaybackRateOptions extends PlayerIdOptions {
playerId: string;
suggestedRate: number;
}
export interface SetLoopOptions extends PlayerIdOptions {
playerId: string;
loopPlaylists: boolean;
}
export interface SetShuffleOptions extends PlayerIdOptions {
playerId: string;
shufflePlaylist: boolean;
}
export interface ToggleFullScreenOptions extends PlayerIdOptions {
playerId: string;
isFullScreen: boolean | null | undefined;
}

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 utilizzando

Iniziare 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.