Getting Started
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 명령어를 복사하세요.
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.
설치
설치You can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:
npx 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.만약 Manual Setup을 선호한다면, 다음 명령어를 실행하고 아래의 플랫폼에 따라서 지시를 따르세요:
bun add @capgo/capacitor-youtube-playerbunx cap syncImport
제목 ‘Import’import { YoutubePlayer } from '@capgo/capacitor-youtube-player';메인 웹뷰에서 YouTube Referer Blocking을 고치세요.
Section titled “YouTube Main WebView Referer 차단 고정”YouTube가 플러그인 내에서 작동하는 경우에도 동일한 앱이 YouTube 페이지, 임베드, 또는 API를 통해 Capacitor의 메인 WebView를 통해 실패하는 경우, patchRefererHeader Capacitor 설정에서
When enabled, the plugin patches Capacitor during sync/update so intercepted YouTube requests include a valid Referer 활성화 시키면, 플러그인이 __CAPGO_KEEP_0__을 동기화/업데이트 시에 패치하여, 가로채인 YouTube 요청에 유효한
{ "plugins": { "YoutubePlayer": { "patchRefererHeader": true, "refererHeader": "https://www.youtube.com" } }}- 클립보드에 복사
youtube.com,youtube-nocookie.com만youtu.be, - 요청만 영향을 받습니다.
Referer이미 refererHeader헤더를 정의한 요청은 원래 값이 유지됩니다. (Optional, 기본값은 )https://www.youtube.com.- Capacitor
8.xiOS 및 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';
await YoutubePlayer.destroy({} as PlayerIdOptions);__CAPGO_KEEP_0__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.stopVideo({} as PlayerIdOptions);playVideo
__CAPGO_KEEP_1____CAPGO_KEEP_2__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideo({} as PlayerIdOptions);pauseVideo
__CAPGO_KEEP_1____CAPGO_KEEP_3__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.pauseVideo({} as PlayerIdOptions);seekTo
__CAPGO_KEEP_1____CAPGO_KEEP_4__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.seekTo({} as SeekToOptions);loadVideoById
__CAPGO_KEEP_5____CAPGO_KEEP_1__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoById({} as VideoByIdMethodOptions);cueVideoById
__CAPGO_KEEP_1____CAPGO_KEEP_2__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoById({} as VideoByIdMethodOptions);loadVideoByUrl
__CAPGO_KEEP_3____CAPGO_KEEP_4__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoByUrl({} as VideoByUrlMethodOptions);cueVideoByUrl
__CAPGO_KEEP_0____CAPGO_KEEP_6__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoByUrl({} as VideoByUrlMethodOptions);cuePlaylist
__CAPGO_KEEP_0____CAPGO_KEEP_8__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cuePlaylist({} as PlaylistMethodOptions);loadPlaylist
__CAPGO_KEEP_1____CAPGO_KEEP_2__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadPlaylist({} as PlaylistMethodOptions);nextVideo
__CAPGO_KEEP_3____CAPGO_KEEP_4__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.nextVideo({} as PlayerIdOptions);previousVideo
__CAPGO_KEEP_5____CAPGO_KEEP_0__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.previousVideo({} as PlayerIdOptions);playVideoAt
__CAPGO_KEEP_0____CAPGO_KEEP_7__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideoAt({} as PlayVideoAtOptions);mute
__CAPGO_KEEP_1____CAPGO_KEEP_2__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.mute({} as PlayerIdOptions);unMute
__CAPGO_KEEP_1____CAPGO_KEEP_3__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.unMute({} as PlayerIdOptions);isMuted
__CAPGO_KEEP_1____CAPGO_KEEP_4__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.isMuted({} as PlayerIdOptions);setVolume
__CAPGO_KEEP_1____CAPGO_KEEP_5__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setVolume({} as SetVolumeOptions);getVolume
__CAPGO_KEEP_1____CAPGO_KEEP_2__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVolume({} as PlayerIdOptions);setSize
__CAPGO_KEEP_3____CAPGO_KEEP_0__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setSize({} as SetSizeOptions);getPlaybackRate
__CAPGO_KEEP_0____CAPGO_KEEP_5__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackRate({} as PlayerIdOptions);setPlaybackRate
__CAPGO_KEEP_6____CAPGO_KEEP_0__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackRate({} as SetPlaybackRateOptions);getAvailablePlaybackRates
__CAPGO_KEEP_1__의 섹션현재 비디오의 사용 가능한 재생 속도 목록을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailablePlaybackRates({} as PlayerIdOptions);setLoop
__CAPGO_KEEP_1__의 섹션재생 목록을 반복할지 여부를 설정합니다. 반복이 활성화되면 마지막 비디오 후에 재생 목록은 시작부터 다시 시작됩니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setLoop({} as SetLoopOptions);setShuffle
__CAPGO_KEEP_1__의 섹션재생 목록을 섞을지 여부를 설정합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setShuffle({} as SetShuffleOptions);getVideoLoadedFraction
__CAPGO_KEEP_1__의 섹션비디오의 버퍼링된 비율을 가져옵니다. 더 신뢰할 수 있는 getVideoBytesLoaded/getVideoBytesTotal의 deprecated 함수입니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoLoadedFraction({} as PlayerIdOptions);getPlayerState
__CAPGO_KEEP_1__ getPlayer 상태 가져오기플레이어의 현재 상태를 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlayerState({} as PlayerIdOptions);getAllPlayersEventsState
__CAPGO_KEEP_1__ 모든 플레이어 이벤트 상태 가져오기활성 플레이어의 여러 인스턴스 추적에 유용합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAllPlayersEventsState();getCurrentTime
__CAPGO_KEEP_1__ 현재 시간 가져오기재생 중인 현재 위치를 초 단위로 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getCurrentTime({} as PlayerIdOptions);toggleFullScreen
__CAPGO_KEEP_1__ 전체 화면 모드 토글전체 화면 모드를 켜거나 끕니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.toggleFullScreen({} as ToggleFullScreenOptions);getPlaybackQuality
__CAPGO_KEEP_1__ (재생 품질 가져오기)현재 재생 품질을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackQuality({} as PlayerIdOptions);setPlaybackQuality
__CAPGO_KEEP_1__ (재생 품질 설정)네트워크 상황에 따라 실제 품질이 달라질 수 있습니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackQuality({} as SetPlaybackQualityOptions);getAvailableQualityLevels
__CAPGO_KEEP_1__ (가용 품질 수준 가져오기)현재 비디오의 가용 품질 수준 목록을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailableQualityLevels({} as PlayerIdOptions);getDuration
__CAPGO_KEEP_1__ (비디오 길이 가져오기)현재 비디오의 길이를 초 단위로 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getDuration({} as PlayerIdOptions);getVideoUrl
getVideoUrl 제목현재 동영상의 YouTube.com URL을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoUrl({} as PlayerIdOptions);getVideoEmbedCode
getVideoEmbedCode 제목현재 동영상의 code을 가져옵니다. 현재 동영상의 HTML iframe code을 반환합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoEmbedCode({} as PlayerIdOptions);getPlaylist
getPlaylist 제목현재 플레이리스트의 동영상 ID 배열을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylist({} as PlayerIdOptions);getPlaylistIndex
getPlaylistIndex 제목현재 플레이리스트에서 재생 중인 동영상의 인덱스를 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylistIndex({} as PlayerIdOptions);getIframe
__CAPGO_KEEP_1____CAPGO_KEEP_2__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getIframe({} as PlayerIdOptions);addEventListener
__CAPGO_KEEP_3____CAPGO_KEEP_4__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
YoutubePlayer.addEventListener({ playerId: 'my-player', eventName: 'onStateChange', listener: (event) => { console.log('Player state:', event.data); },});removeEventListener
__CAPGO_KEEP_5____CAPGO_KEEP_0__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.removeEventListener({} as PlayerEventListenerOptions<TEvent>);__CAPGO_KEEP_0__
__CAPGO_KEEP_7__PlayerIdOptions
PlayerIdOptionsexport interface PlayerIdOptions { playerId: string;}SeekToOptions
SeekToOptionsexport interface SeekToOptions extends PlayerIdOptions { playerId: string; seconds: number; allowSeekAhead: boolean;}VideoByIdMethodOptions
VideoByIdMethodOptionsexport interface VideoByIdMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsById;}VideoByUrlMethodOptions
VideoByUrlMethodOptionsexport interface VideoByUrlMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsByUrl;}PlaylistMethodOptions
PlaylistMethodOptionsexport interface PlaylistMethodOptions extends PlayerIdOptions { playerId: string; playlistOptions: IPlaylistOptions;}PlayVideoAtOptions
PlayVideoAtOptionsexport interface PlayVideoAtOptions extends PlayerIdOptions { playerId: string; index: number;}SetVolumeOptions
SetVolumeOptionsexport interface SetVolumeOptions extends PlayerIdOptions { playerId: string; volume: number;}SetSizeOptions
SetSizeOptionsexport interface SetSizeOptions extends PlayerIdOptions { playerId: string; width: number; height: number;}SetPlaybackRateOptions
SetPlaybackRateOptionsexport interface SetPlaybackRateOptions extends PlayerIdOptions { playerId: string; suggestedRate: number;}SetLoopOptions
SetLoopOptionsexport interface SetLoopOptions extends PlayerIdOptions { playerId: string; loopPlaylists: boolean;}SetShuffleOptions
SetShuffleOptionsexport interface SetShuffleOptions extends PlayerIdOptions { playerId: string; shufflePlaylist: boolean;}ToggleFullScreenOptions
ToggleFullScreenOptionsexport interface ToggleFullScreenOptions extends PlayerIdOptions { playerId: string; isFullScreen: boolean | null | undefined;}원본
원본이 페이지는 플러그인의 src/definitions.ts공개 API이 업스트림에서 변경될 때 다시 싱크를 실행하세요.
시작하기
시작하기이러한 기능을 사용하는 경우 시작하기 계획 대시보드 및 API 운영을 위해 Using @capgo/capacitor-youtube-player Using @capgo/capacitor-youtube-player API 개요 API 개요에 대한 구현 세부 정보를 위해 소개 __CAPGO_KEEP_0__ 키에 대한 구현 세부 정보를 위해 API 키 API 키에 대한 구현 세부 정보를 위해 장치 __CAPGO_KEEP_0__에 대한 구현 세부 정보를 위해