はじめに
このプラグインのインストール手順と完全な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.
インストール
「Install」セクション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」セクションimport { YoutubePlayer } from '@capgo/capacitor-youtube-player';クイックスタート
「Quick start」セクションimport { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.initialize({ playerId: 'my-player', videoId: 'dQw4w9WgXcQ', playerSize: { width: 640, height: 360 }, privacyEnhanced: true});よくある落とし穴
「Common pitfalls」セクション- リスナー: 画面のアンマウント時にハンドルを削除してください。
- 一度の初期化で完了: アプリのブートストラップ時にセットアップを実行します。
- 信頼できる情報源: 信頼する
src/definitions.tsGitHub リポジトリ内に
メインWebViewでのYouTubeリファラーブロックを修正する
「メインWebViewでのYouTubeリファラーブロックを修正する」というセクションプラグイン内ではYouTubeが動作するものの、Capacitor のメインWebView経由でYouTubeのページ、埋め込み、またはAPIを読み込む際に失敗する場合は、 patchRefererHeader Capacitor の設定で enable を有効にしてください。
有効にすると、プラグインが同期/アップデート中に 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」セクション再生中の動画を一時停止します。 すでに ENDED (0) の状態でない限り、最終的なプレイヤーの状態は PAUSED (2) になります。
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;}信頼できる情報源
「信頼できる情報源」セクションこのページはプラグインの src/definitions.tsから生成されています。上流で公開 API が変更されたら、sync を再実行してください。
Getting Started から続ける
「Getting Started からの続き」セクション以下を使用している場合: はじめに ダッシュボードと API の操作を計画するには、以下と連携してください @capgo/capacitor-youtube-player の使用方法 @capgo/capacitor-youtube-player でネイティブ機能を使用する場合、 API の概要 API Overview の実装の詳細については、 はじめに Introduction の実装の詳細については、 API キー API Keys の実装の詳細については、 デバイス Devices の実装の詳細については。