Premiers pas
Copiez un prompt de configuration avec 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 la configuration manuelle, installez le plugin avec les commandes suivantes, puis 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 »- Listeners : supprimez les handles lors du démontage des écrans.
- Initialisation unique: exécutez le setup lors du bootstrap de l'app.
- Source de vérité: trust
src/definitions.tsdans le repo GitHub.
Corriger le blocage du referer YouTube dans la WebView principale
Section intitulée « Corriger 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 sync/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 affecté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.- Compatible avec Capacitor
8.xpour les plateformes iOS et Android installées.
Aperçu de API
Section intitulée « Vue d'ensemble de API »initialize
Section intitulée « initialize »Initialisez 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étruisez une instance du lecteur et libérez 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 »Lance la vidéo actuellement en file d'attente ou chargée. L'é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 »Met en pause la vidéo en cours de lecture. L'état final du lecteur 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 »Charge et lance une vidéo via 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 »Préparez une vidéo par son ID sans la lancer.\nCharge la miniature et prépare le player, mais ne demande la vidéo qu'une fois playVideo() appelé.
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 »Chargez et lancez une vidéo via 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éparez une vidéo par son URL sans la lancer.
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éparez 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 spécifique 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 lecteur est actuellement en mode muet.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.isMuted({ playerId: 'player-id-123' });console.log(result);setVolume
Section intitulée « setVolume »Régler le niveau du 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 »Récupère le niveau de volume actuel du lecteur. Retourne le volume même si le lecteur est en mode muet.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getVolume({ playerId: 'player-id-123' });console.log(result);Définir 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érer 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 »Définir 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ère 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);Active ou désactive la lecture en boucle de la playlist. Une fois activée, la playlist redémarrera 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ère 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ère 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ère 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 »Active ou désactive 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 de la vidéo actuelle en secondes.
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ère l'URL YouTube.com de la vidéo actuelle.
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ère le code d'intégration de la vidéo actuelle. Retourne l'iframe HTML d'intégration code.
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ère le tableau des IDs vidéo 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ère 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érer l'élément DOM de l'iframe du 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 »Ajouter 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 »Supprimer 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 du src/definitions.ts. Relancez la synchronisation lorsque l’API public change en amont.
Continuer depuis Getting Started
Section intitulée « Aller plus loin après Getting Started »Si vous utilisez Premiers pas pour planifier les opérations du dashboard et de API, connectez-l’à Utiliser @capgo/capacitor-youtube-player pour la fonctionnalité native dans « Utiliser @capgo/capacitor-youtube-player », Aperçu de API pour les détails d'implémentation dans l'aperçu de API, Introduction pour les détails d'implémentation dans l'Introduction, Clés API pour les détails d'implémentation dans les clés API, et Appareils pour le détail d’implémentation dans Devices.