Prise en main
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce 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.
Installer
Section intitulée « Installation »Vous pouvez utiliser notre configuration assistée par IA pour installer le plugin. Ajoutez les skills Capgo à votre outil d'IA avec la commande suivante :
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUtilisez ensuite le prompt suivant :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-youtube-player` plugin in my project.Si vous préférez une installation manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques à chaque plateforme ci-dessous :
bun add @capgo/capacitor-youtube-playerbunx cap syncImporter
Section intitulée « Import »import { YoutubePlayer } from '@capgo/capacitor-youtube-player';Démarrage rapide
Section intitulée « Démarrage rapide »import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.initialize({ playerId: 'my-player', videoId: 'dQw4w9WgXcQ', playerSize: { width: 640, height: 360 }, privacyEnhanced: true});Erreurs courantes
Section intitulée « Erreurs courantes »- Écouteurs: supprimez les handles lors du démontage des écrans.
- Initialiser une seule fois: exécutez le setup lors du bootstrap de l'app.
- Source de vérité : fiez-vous
src/definitions.tsau repo GitHub.
Corriger le blocage du referer YouTube dans la WebView principale
Section intitulée « Résoudre le blocage du referer YouTube dans la WebView principale »Si YouTube fonctionne dans le plugin mais échoue lorsque la même application charge des pages, des embeds ou des API YouTube via la WebView principale de Capacitor, activez patchRefererHeader dans votre configuration Capacitor.
Une fois activé, le plugin patche Capacitor lors de la synchro/mise à jour pour que les requêtes YouTube interceptées incluent un Referer header valide.
{ "plugins": { "YoutubePlayer": { "patchRefererHeader": true, "refererHeader": "https://www.youtube.com" } }}- Seules les
youtube.com,youtube-nocookie.com, etyoutu.berequêtes sont concernées. - Les requêtes qui définissent déjà un
Refererheader conservent leur valeur d'origine. refererHeaderest optionnel et vaut par défauthttps://www.youtube.com.- Pris en charge sur Capacitor
8.xpour les plateformes iOS et Android installées.
Aperçu de API
Section intitulée « Aperçu API »initialize
Section intitulée « initialize »Initialiser une nouvelle instance du lecteur YouTube.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.initialize({ playerId: 'my-player', videoId: 'dQw4w9WgXcQ', playerSize: { width: 640, height: 360 }, privacyEnhanced: true});Détruire une instance du lecteur et libérer les ressources.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.destroy({ playerId: 'player-id-123' });console.log(result);stopVideo
Section intitulée « stopVideo »Arrête la lecture de la vidéo et annule le chargement. À utiliser avec parcimonie — pauseVideo() est généralement préférable.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.stopVideo({ playerId: 'player-id-123' });console.log(result);playVideo
Section intitulée « playVideo »Lisez la vidéo actuellement en file d'attente ou chargée.\nL'état final du lecteur sera PLAYING (1).
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.playVideo({ playerId: 'player-id-123' });console.log(result);pauseVideo
Section intitulée « pauseVideo »Mets en pause la vidéo en cours de lecture.\nL'état final du player sera PAUSED (2), sauf s'il est déjà en état ENDED (0).
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.pauseVideo({ playerId: 'player-id-123' });console.log(result);Accéder à un moment précis de la vidéo. Si le lecteur est en pause, il reste en pause. S'il est en lecture, la lecture continue.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.seekTo({ playerId: 'player-id-123', seconds: 10, allowSeekAhead: true,});console.log(result);loadVideoById
Section intitulée « loadVideoById »Charger et lire une vidéo à partir de son ID YouTube.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.loadVideoById({ playerId: 'player-id-123', options: { videoId: 'video-id-123' },});console.log(result);cueVideoById
Section intitulée « cueVideoById »Déclencher une vidéo par ID sans la lire. Charge la miniature et prépare le lecteur, sans demander la vidéo avant l’appel de playVideo().
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.cueVideoById({ playerId: 'player-id-123', options: { videoId: 'video-id-123' },});console.log(result);loadVideoByUrl
Section intitulée « loadVideoByUrl »Charger et lire une vidéo à partir de son URL complète.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.loadVideoByUrl({ playerId: 'player-id-123', options: { mediaContentUrl: 'https://example.com' },});console.log(result);cueVideoByUrl
Section intitulée « cueVideoByUrl »Préparer une vidéo par URL sans la lire.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.cueVideoByUrl({ playerId: 'player-id-123', options: { mediaContentUrl: 'https://example.com' },});console.log(result);cuePlaylist
Section intitulée « cuePlaylist »Préparer une playlist sans la lancer. Charge la playlist et prépare la première vidéo.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.cuePlaylist({ playerId: 'player-id-123', playlistOptions: { listType: 'playlist' },});console.log(result);loadPlaylist
Section intitulée « loadPlaylist »Charger et lire une playlist.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.loadPlaylist({ playerId: 'player-id-123', playlistOptions: { listType: 'playlist' },});console.log(result);nextVideo
Section intitulée « nextVideo »Lire la vidéo suivante de la playlist.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.nextVideo({ playerId: 'player-id-123' });console.log(result);previousVideo
Section intitulée « previousVideo »Lire la vidéo précédente de la playlist.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.previousVideo({ playerId: 'player-id-123' });console.log(result);playVideoAt
Section intitulée « playVideoAt »Lire une vidéo précise de la playlist par son index.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.playVideoAt({ playerId: 'player-id-123', index: 1,});console.log(result);Couper le son du lecteur.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.mute({ playerId: 'player-id-123' });console.log(result);Réactiver le son du lecteur.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.unMute({ playerId: 'player-id-123' });console.log(result);Vérifier si le son du lecteur est actuellement coupé.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.isMuted({ playerId: 'player-id-123' });console.log(result);setVolume
Section intitulée « setVolume »Définit le niveau de volume du lecteur.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setVolume({ playerId: 'player-id-123', volume: 0.5,});console.log(result);getVolume
Section intitulée « getVolume »Renvoie le niveau de volume actuel du lecteur. Renvoie le volume même si le lecteur est en sourdine.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getVolume({ playerId: 'player-id-123' });console.log(result);Définit les dimensions du lecteur en pixels.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setSize({ playerId: 'player-id-123', width: 1080, height: 1920,});console.log(result);getPlaybackRate
Section intitulée « getPlaybackRate »Récupère la vitesse de lecture actuelle.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlaybackRate({ playerId: 'player-id-123' });console.log(result);setPlaybackRate
Section intitulée « setPlaybackRate »Régler la vitesse de lecture.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setPlaybackRate({ playerId: 'player-id-123', suggestedRate: 1,});console.log(result);getAvailablePlaybackRates
Section intitulée « getAvailablePlaybackRates »Récupérer la liste des vitesses de lecture disponibles pour la vidéo actuelle.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getAvailablePlaybackRates({ playerId: 'player-id-123' });console.log(result);Activez ou désactivez la boucle de la playlist. Lorsqu’elle est activée, la playlist repart du début après la dernière vidéo.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setLoop({ playerId: 'player-id-123', loopPlaylists: true,});console.log(result);setShuffle
Section intitulée « setShuffle »Enable or disable playlist shuffle.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setShuffle({ playerId: 'player-id-123', shufflePlaylist: true,});console.log(result);getVideoLoadedFraction
Section intitulée « getVideoLoadedFraction »Récupérez la fraction de la vidéo mise en mémoire tampon. Plus fiable que les fonctions obsolètes getVideoBytesLoaded/getVideoBytesTotal.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getVideoLoadedFraction({ playerId: 'player-id-123' });console.log(result);getPlayerState
Section intitulée « getPlayerState »Récupérez l'état actuel du player.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlayerState({ playerId: 'player-id-123' });console.log(result);getAllPlayersEventsState
Section intitulée « getAllPlayersEventsState »Récupérez l'état des événements pour tous les players actifs. Utile pour suivre plusieurs instances de player.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getAllPlayersEventsState();console.log(result);getCurrentTime
Section intitulée « getCurrentTime »Récupérez la position de lecture actuelle en secondes.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getCurrentTime({ playerId: 'player-id-123' });console.log(result);toggleFullScreen
Section intitulée « toggleFullScreen »Activer ou désactiver le mode plein écran.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.toggleFullScreen({ playerId: 'player-id-123', isFullScreen: true,});console.log(result);getPlaybackQuality
Section intitulée « getPlaybackQuality »Récupérer la qualité de lecture actuelle.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlaybackQuality({ playerId: 'player-id-123' });console.log(result);setPlaybackQuality
Section intitulée « setPlaybackQuality »Définir la qualité de lecture suggérée. La qualité réelle peut varier selon les conditions réseau.
import { YoutubePlayer, IPlaybackQuality } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setPlaybackQuality({ playerId: 'player-id-123', suggestedQuality: IPlaybackQuality.SMALL,});console.log(result);getAvailableQualityLevels
Section intitulée « getAvailableQualityLevels »Récupérer la liste des niveaux de qualité disponibles pour la vidéo actuelle.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getAvailableQualityLevels({ playerId: 'player-id-123' });console.log(result);getDuration
Section intitulée « getDuration »Récupérer la durée en secondes de la vidéo en cours.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getDuration({ playerId: 'player-id-123' });console.log(result);getVideoUrl
Section intitulée « getVideoUrl »Récupérer l'URL YouTube.com de la vidéo en cours.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getVideoUrl({ playerId: 'player-id-123' });console.log(result);getVideoEmbedCode
Section intitulée « getVideoEmbedCode »Récupérer le code d'intégration pour la vidéo en cours. Retourne le code d'intégration iframe HTML.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getVideoEmbedCode({ playerId: 'player-id-123' });console.log(result);getPlaylist
Section intitulée « getPlaylist »Récupérer le tableau des ID des vidéos de la playlist actuelle.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlaylist({ playerId: 'player-id-123' });console.log(result);getPlaylistIndex
Section intitulée « getPlaylistIndex »Récupérez l'index de la vidéo en cours de lecture dans la playlist.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlaylistIndex({ playerId: 'player-id-123' });console.log(result);getIframe
Section intitulée « getIframe »Récupérez l'élément DOM de l'iframe pour le lecteur. Plateforme Web uniquement.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getIframe({ playerId: 'player-id-123' });console.log(result);addEventListener
Section intitulée « addEventListener »Ajoutez un écouteur d'événement au lecteur. Plateforme Web uniquement.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
YoutubePlayer.addEventListener({ playerId: 'my-player', eventName: 'onStateChange', listener: (event) => { console.log('Player state:', event.data); },});removeEventListener
Section intitulée « removeEventListener »Supprimez un écouteur d'événement du lecteur. Plateforme Web uniquement.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.removeEventListener({ playerId: 'player-id-123', eventName: 'onReady', listener: (event) => { console.log(event); },});Référence de type
Section intitulée « Référence de type »PlayerIdOptions
Section intitulée « PlayerIdOptions »export interface PlayerIdOptions { playerId: string;}SeekToOptions
Section intitulée « SeekToOptions »export interface SeekToOptions extends PlayerIdOptions { playerId: string; seconds: number; allowSeekAhead: boolean;}VideoByIdMethodOptions
Section intitulée « VideoByIdMethodOptions »export interface VideoByIdMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsById;}VideoByUrlMethodOptions
Section intitulée « VideoByUrlMethodOptions »export interface VideoByUrlMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsByUrl;}PlaylistMethodOptions
Section intitulée « PlaylistMethodOptions »export interface PlaylistMethodOptions extends PlayerIdOptions { playerId: string; playlistOptions: IPlaylistOptions;}PlayVideoAtOptions
Section intitulée « PlayVideoAtOptions »export interface PlayVideoAtOptions extends PlayerIdOptions { playerId: string; index: number;}SetVolumeOptions
Section intitulée « SetVolumeOptions »export interface SetVolumeOptions extends PlayerIdOptions { playerId: string; volume: number;}SetSizeOptions
Section intitulée « SetSizeOptions »export interface SetSizeOptions extends PlayerIdOptions { playerId: string; width: number; height: number;}SetPlaybackRateOptions
Section intitulée « SetPlaybackRateOptions »export interface SetPlaybackRateOptions extends PlayerIdOptions { playerId: string; suggestedRate: number;}SetLoopOptions
Section intitulée « SetLoopOptions »export interface SetLoopOptions extends PlayerIdOptions { playerId: string; loopPlaylists: boolean;}SetShuffleOptions
Section intitulée « SetShuffleOptions »export interface SetShuffleOptions extends PlayerIdOptions { playerId: string; shufflePlaylist: boolean;}ToggleFullScreenOptions
Section intitulée « ToggleFullScreenOptions »export interface ToggleFullScreenOptions extends PlayerIdOptions { playerId: string; isFullScreen: boolean | null | undefined;}Source de vérité
Section intitulée « Source de vérité »Cette page est générée à partir de src/definitions.ts. Relancez la synchronisation lorsque l’API public change en amont.
Continuer depuis Getting Started
Section intitulée « Continuer après Prise en main »Si vous utilisez Prise en main pour planifier les opérations du dashboard et de API, connectez-l’avec Utiliser @capgo/capacitor-youtube-player pour la capacité native dans Utiliser @capgo/capacitor-youtube-player, Aperçu de API pour les détails d'implémentation dans « Vue d'ensemble de API », Introduction pour les détails d'implémentation dans l'introduction, Clés API pour les détails d'implémentation dans « Clés API », et Appareils pour les détails d'implémentation dans Devices.