スタートガイド
インストール手順と、このプラグインの完全な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アシストによるセットアップでプラグインをインストールできます。以下のコマンドを使用して、お使いのAIツールに Capgo のスキルを追加してください:
bunx 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';クイックスタート
「クイックスタート」セクションimport { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.initialize({ playerId: 'my-player', videoId: 'dQw4w9WgXcQ', playerSize: { width: 640, height: 360 }, privacyEnhanced: true});よくある落とし穴
「よくある落とし穴」セクション- リスナー: 画面がアンマウントされたらハンドルを削除します。
- 一度だけ初期化: アプリの起動時にセットアップを実行します。
- 信頼できる情報源: 信頼
src/definitions.tsGitHub リポジトリ内。
メイン WebView での YouTube リファラーブロックの修正
「メイン WebView での YouTube Referer ブロッキングの修正」セクションプラグイン内では YouTube が動作するが、同じアプリで Capacitor のメイン WebView 経由で YouTube のページ、埋め込み、または API を読み込む際に失敗する場合は、 patchRefererHeader を Capacitor の設定で有効にしてください。
有効にすると、プラグインは sync/update 時に Capacitor をパッチ適用し、インターセプトされた YouTube リクエストに有効な Referer header.
{ "plugins": { "YoutubePlayer": { "patchRefererHeader": true, "refererHeader": "https://www.youtube.com" } }}- のみ
youtube.com,youtube-nocookie.comやyoutu.beリクエストが影響を受けます。 - すでに定義済みの
Refererheader は元の値を保持します。 refererHeaderは任意で、デフォルトはhttps://www.youtube.com.- Capacitor でサポートされています
8.xインストール済みの iOS および Android プラットフォーム向けです。
API の概要
「API 概要」セクションinitialize
「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
「destroy」セクションプレイヤーインスタンスを破棄してリソースを解放します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.destroy({ playerId: 'player-id-123' });console.log(result);stopVideo
「stopVideo」セクション動画の再生を停止し、読み込みをキャンセルします。 頻繁に使用しないでください - 通常は pauseVideo() の方が推奨されます。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.stopVideo({ playerId: 'player-id-123' });console.log(result);playVideo
セクション「playVideo」キューに登録されている、または読み込まれた動画を再生します。 最終的なプレイヤー状態は PLAYING (1) になります。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.playVideo({ playerId: 'player-id-123' });console.log(result);pauseVideo
セクション「pauseVideo」現在再生中の動画を一時停止します。 最終的なプレイヤー状態は PAUSED (2) になります(既に ENDED (0) の場合は除く)。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.pauseVideo({ playerId: 'player-id-123' });console.log(result);seekTo
セクション「seekTo」動画内の特定の時間にシークします。 プレイヤーが一時停止中の場合はそのままで、再生中の場合は再生を続けます。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.seekTo({ playerId: 'player-id-123', seconds: 10, allowSeekAhead: true,});console.log(result);loadVideoById
「loadVideoById」セクションYouTube IDを指定して動画をロードし再生します。
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
「cueVideoById」セクションIDを指定して動画をキューイングします(再生はしません)。 サムネイルを読み込み、プレイヤーを準備しますが、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
「loadVideoByUrl」セクション完全なURLを指定して動画をロードし再生します。
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
「cueVideoByUrl」セクションURLを指定して動画をキューイングします(再生はしません)。
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
「cuePlaylist」セクション再生せずにプレイリストをキューイングします。 プレイリストを読み込み、最初の動画を準備します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.cuePlaylist({ playerId: 'player-id-123', playlistOptions: { listType: 'playlist' },});console.log(result);loadPlaylist
「loadPlaylist」セクションプレイリストを読み込んで再生します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.loadPlaylist({ playerId: 'player-id-123', playlistOptions: { listType: 'playlist' },});console.log(result);nextVideo
「nextVideo」セクションプレイリストの次の動画を再生します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.nextVideo({ playerId: 'player-id-123' });console.log(result);previousVideo
「previousVideo」セクションプレイリストの前の動画を再生します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.previousVideo({ playerId: 'player-id-123' });console.log(result);playVideoAt
「playVideoAt」セクションインデックスを指定して、プレイリスト内の特定の動画を再生します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.playVideoAt({ playerId: 'player-id-123', index: 1,});console.log(result);mute
「mute」セクションプレイヤーの音声をミュートします。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.mute({ playerId: 'player-id-123' });console.log(result);unMute
「unMute」セクションプレイヤーのミュートを解除します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.unMute({ playerId: 'player-id-123' });console.log(result);isMuted
「isMuted」セクションプレイヤーが現在ミュートされているか確認します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.isMuted({ playerId: 'player-id-123' });console.log(result);setVolume
「setVolume」セクションプレイヤーの音量レベルを設定します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setVolume({ playerId: 'player-id-123', volume: 0.5,});console.log(result);getVolume
「getVolume」セクション現在のプレイヤーの音量レベルを取得します。 ミュート中でも音量を返します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getVolume({ playerId: 'player-id-123' });console.log(result);setSize
セクション「setSize」プレイヤーのサイズをピクセル単位で設定します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setSize({ playerId: 'player-id-123', width: 1080, height: 1920,});console.log(result);getPlaybackRate
セクション「getPlaybackRate」現在の再生速度を取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlaybackRate({ playerId: 'player-id-123' });console.log(result);setPlaybackRate
「setPlaybackRate」というセクション再生速度を設定します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setPlaybackRate({ playerId: 'player-id-123', suggestedRate: 1,});console.log(result);getAvailablePlaybackRates
「getAvailablePlaybackRates」セクション現在の動画で利用可能な再生速度のリストを取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getAvailablePlaybackRates({ playerId: 'player-id-123' });console.log(result);setLoop
「setLoop」セクションプレイリストのループを有効または無効にします。 有効にすると、最後の動画が終わった後にプレイリストが最初から再生されます。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setLoop({ playerId: 'player-id-123', loopPlaylists: true,});console.log(result);setShuffle
「setShuffle」セクションプレイリストのシャッフルを有効または無効にします。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setShuffle({ playerId: 'player-id-123', shufflePlaylist: true,});console.log(result);getVideoLoadedFraction
「getVideoLoadedFraction」セクションバッファリングされた動画の割合を取得します。 非推奨の getVideoBytesLoaded/getVideoBytesTotal よりも信頼性が高いです。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getVideoLoadedFraction({ playerId: 'player-id-123' });console.log(result);getPlayerState
「getPlayerState」セクションプレイヤーの現在の状態を取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlayerState({ playerId: 'player-id-123' });console.log(result);getAllPlayersEventsState
「getAllPlayersEventsState」セクションアクティブなすべてのプレイヤーのイベント状態を取得します。 複数のプレイヤーインスタンスを追跡する際に便利です。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getAllPlayersEventsState();console.log(result);getCurrentTime
「getCurrentTime」セクション現在の再生位置を秒単位で取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getCurrentTime({ playerId: 'player-id-123' });console.log(result);toggleFullScreen
「toggleFullScreen」セクション全画面モードをオンまたはオフに切り替えます。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.toggleFullScreen({ playerId: 'player-id-123', isFullScreen: true,});console.log(result);getPlaybackQuality
「getPlaybackQuality」セクション現在の再生品質を取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlaybackQuality({ playerId: 'player-id-123' });console.log(result);setPlaybackQuality
「setPlaybackQuality」セクション推奨される再生品質を設定します。 実際の品質はネットワーク状況によって異なる場合があります。
import { YoutubePlayer, IPlaybackQuality } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.setPlaybackQuality({ playerId: 'player-id-123', suggestedQuality: IPlaybackQuality.SMALL,});console.log(result);getAvailableQualityLevels
「getAvailableQualityLevels」セクション現在の動画で利用可能な品質レベルのリストを取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getAvailableQualityLevels({ playerId: 'player-id-123' });console.log(result);getDuration
セクション「getDuration」現在の動画の再生時間を秒単位で取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getDuration({ playerId: 'player-id-123' });console.log(result);getVideoUrl
「getVideoUrl」セクション現在の動画の YouTube.com URL を取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getVideoUrl({ playerId: 'player-id-123' });console.log(result);getVideoEmbedCode
「getVideoEmbedCode」セクション現在の動画の埋め込みcodeを取得します。 HTML iframe埋め込みcodeを返します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getVideoEmbedCode({ playerId: 'player-id-123' });console.log(result);getPlaylist
「getPlaylist」セクション現在のプレイリストに含まれる動画 ID の配列を取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlaylist({ playerId: 'player-id-123' });console.log(result);getPlaylistIndex
セクション「getPlaylistIndex」プレイリスト内で現在再生中の動画のインデックスを取得します。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getPlaylistIndex({ playerId: 'player-id-123' });console.log(result);getIframe
「getIframe」セクションプレイヤーの iframe DOM 要素を取得します。 Web プラットフォームのみ対応。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
const result = await YoutubePlayer.getIframe({ playerId: 'player-id-123' });console.log(result);addEventListener
「addEventListener」セクションプレイヤーにイベントリスナーを追加します。 Web プラットフォームのみ対応。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
YoutubePlayer.addEventListener({ playerId: 'my-player', eventName: 'onStateChange', listener: (event) => { console.log('Player state:', event.data); },});removeEventListener
「removeEventListener」セクションプレイヤーからイベントリスナーを削除します。 Web プラットフォームのみ対応。
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.removeEventListener({ playerId: 'player-id-123', eventName: 'onReady', listener: (event) => { console.log(event); },});型リファレンス
「型リファレンス」セクションPlayerIdOptions
「PlayerIdOptions」セクションexport interface PlayerIdOptions { playerId: string;}SeekToOptions
「SeekToOptions」セクションexport interface SeekToOptions extends PlayerIdOptions { playerId: string; seconds: number; allowSeekAhead: boolean;}VideoByIdMethodOptions
「VideoByIdMethodOptions」セクションexport interface VideoByIdMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsById;}VideoByUrlMethodOptions
「VideoByUrlMethodOptions」セクションexport interface VideoByUrlMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsByUrl;}PlaylistMethodOptions
セクション「PlaylistMethodOptions」export interface PlaylistMethodOptions extends PlayerIdOptions { playerId: string; playlistOptions: IPlaylistOptions;}PlayVideoAtOptions
セクション「PlayVideoAtOptions」export interface PlayVideoAtOptions extends PlayerIdOptions { playerId: string; index: number;}SetVolumeOptions
“SetVolumeOptions” セクションexport interface SetVolumeOptions extends PlayerIdOptions { playerId: string; volume: number;}SetSizeOptions
“SetSizeOptions” セクションexport interface SetSizeOptions extends PlayerIdOptions { playerId: string; width: number; height: number;}SetPlaybackRateOptions
“SetPlaybackRateOptions” セクションexport interface SetPlaybackRateOptions extends PlayerIdOptions { playerId: string; suggestedRate: number;}SetLoopOptions
“SetLoopOptions” セクションexport interface SetLoopOptions extends PlayerIdOptions { playerId: string; loopPlaylists: boolean;}SetShuffleOptions
“SetShuffleOptions” セクションexport interface SetShuffleOptions extends PlayerIdOptions { playerId: string; shufflePlaylist: boolean;}ToggleFullScreenOptions
“ToggleFullScreenOptions” セクションexport interface ToggleFullScreenOptions extends PlayerIdOptions { playerId: string; isFullScreen: boolean | null | undefined;}Source of Truth
「Source Of Truth」セクションこのページはプラグインの src/definitions.tsから生成されています。upstream で公開 API が変更されたら、再度 sync を実行してください。
Getting Startedの続きを進める
「Getting Started からの続き」セクション使用している場合 スタートガイド ダッシュボードと API の運用を計画するには、これを次と連携させます @capgo/capacitor-youtube-playerの使い方 「@capgo/capacitor-youtube-playerの使い方」のネイティブ機能については、 API の概要 「API の概要」の実装の詳細については、 はじめに 「はじめに」における実装の詳細については、 API キー および「API Keys」の実装の詳細については、 デバイス 実装の詳細については Devices を参照してください。