반복 설정 옵션
이 플러그인의 설치 단계와 전체 마크다운 가이드가 포함된 설정 프롬프트를 복사하세요.
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.
설치
설치 섹션Capgo의 AI 보조 설치를 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 다음 명령어를 사용하여 Capgo 기능을 추가하세요:
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 sync수입
수입 섹션import { YoutubePlayer } from '@capgo/capacitor-youtube-player';메인 웹뷰에서 YouTube Referer 차단을 고치기
메인 웹뷰에서 YouTube Referer 차단을 고치기YouTube가 플러그인 내에서 작동하는 경우 동일한 앱이 YouTube 페이지, 임베드, 또는 API를 통해 메인 웹뷰를 통해 작동하지 않는다면 Capacitor의 메인 웹뷰를 통해 Capacitor의 메인 웹뷰를 활성화하여 patchRefererHeader Capacitor의 구성에서
Capacitor가 동기화/업데이트 시 플러그인이 Capacitor를 패치하여 유효한 Referer 헤더를 포함하는 YouTube 요청을 포함하도록 함
{ "plugins": { "YoutubePlayer": { "patchRefererHeader": true, "refererHeader": "https://www.youtube.com" } }}- 만
youtube.com,youtube-nocookie.com,youtu.be및 - 요청만 영향을 받습니다.
Refererheader 그들의 원래 값을 유지합니다. refererHeader는 선택 사항이며 기본값이https://www.youtube.com.- Capacitor
8.xiOS 및 Android 플랫폼에 설치된 경우 지원됩니다.
API 개요
API 개요initialize
__CAPGO_KEEP_0__새로운 YouTube 플레이어 인스턴스를 초기화합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.initialize({ playerId: 'my-player', videoId: 'dQw4w9WgXcQ', playerSize: { width: 640, height: 360 }, privacyEnhanced: true});destroy
__CAPGO_KEEP_0__클립보드에 복사
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.destroy({} as PlayerIdOptions);stopVideo
Section titled “stopVideo”비디오 재생을 중단하고 로딩을 취소합니다. 이 메서드를 사용할 때는 pauseVideo()를 사용하는 것을 권장합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.stopVideo({} as PlayerIdOptions);playVideo
Section titled “playVideo”현재 큐드 또는 로드된 비디오를 재생합니다. 마지막 플레이어 상태는 PLAYING (1)가 됩니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideo({} as PlayerIdOptions);pauseVideo
Section titled “pauseVideo”현재 재생 중인 비디오를 일시 정지합니다. 마지막 플레이어 상태는 PAUSED (2)가 됩니다. 이미 ENDED (0) 상태라면 그대로 유지됩니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.pauseVideo({} as PlayerIdOptions);seekTo
Section titled “seekTo”비디오의 특정 시간으로 이동합니다. 플레이어가 일시 정지 상태라면 그 상태를 유지하고, 재생 중이라면 계속 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.seekTo({} as SeekToOptions);loadVideoById
loadVideoById 섹션 제목YouTube ID를 사용하여 비디오를 로드하고 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoById({} as VideoByIdMethodOptions);cueVideoById
cueVideoById 섹션 제목ID를 사용하여 비디오를 큐합니다. (재생하지 않음). 썸네일을 로드하고 플레이어를 준비하지만, playVideo()가 호출될 때까지 비디오를 요청하지 않습니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoById({} as VideoByIdMethodOptions);loadVideoByUrl
loadVideoByUrl 섹션 제목URL을 사용하여 비디오를 로드하고 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoByUrl({} as VideoByUrlMethodOptions);cueVideoByUrl
cueVideoByUrl 섹션 제목URL을 사용하여 비디오를 큐합니다 (재생하지 않음).
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoByUrl({} as VideoByUrlMethodOptions);cuePlaylist
__CAPGO_KEEP_0____CAPGO_KEEP_1__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cuePlaylist({} as PlaylistMethodOptions);loadPlaylist
__CAPGO_KEEP_0____CAPGO_KEEP_1__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadPlaylist({} as PlaylistMethodOptions);nextVideo
__CAPGO_KEEP_0____CAPGO_KEEP_1__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.nextVideo({} as PlayerIdOptions);previousVideo
__CAPGO_KEEP_0____CAPGO_KEEP_1__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.previousVideo({} as PlayerIdOptions);playVideoAt
Section titled “playVideoAt”Play a specific video in the playlist by index.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideoAt({} as PlayVideoAtOptions);Mute the player audio.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.mute({} as PlayerIdOptions);unMute
Section titled “unMute”Unmute the player audio.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.unMute({} as PlayerIdOptions);isMuted
Section titled “isMuted”Check if the player is currently muted.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.isMuted({} as PlayerIdOptions);setVolume
__CAPGO_KEEP_0____CAPGO_KEEP_1__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setVolume({} as SetVolumeOptions);getVolume
__CAPGO_KEEP_0____CAPGO_KEEP_3__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVolume({} as PlayerIdOptions);setSize
__CAPGO_KEEP_2____CAPGO_KEEP_0__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setSize({} as SetSizeOptions);getPlaybackRate
__CAPGO_KEEP_2____CAPGO_KEEP_0__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackRate({} as PlayerIdOptions);setPlaybackRate
Section titled “setPlaybackRate”재생 속도 설정
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackRate({} as SetPlaybackRateOptions);getAvailablePlaybackRates
Section titled “getAvailablePlaybackRates”현재 비디오의 재생 속도 목록을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailablePlaybackRates({} as PlayerIdOptions);setLoop
Section titled “setLoop”반복 재생을 설정합니다. 반복이 활성화되면 마지막 비디오 후에 플레이리스트는 시작부터 다시 시작합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setLoop({} as SetLoopOptions);setShuffle
Section titled “setShuffle”셔플 재생을 설정합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setShuffle({} as SetShuffleOptions);getVideoLoadedFraction
getVideoLoadedFraction 섹션비디오가 버퍼링 된 비율을 가져옵니다. 더욱 신뢰할 수 있는 getVideoBytesLoaded/getVideoBytesTotal.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoLoadedFraction({} as PlayerIdOptions);getPlayerState
getPlayerState 섹션현재 플레이어 상태를 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlayerState({} as PlayerIdOptions);getAllPlayersEventsState
getAllPlayersEventsState 섹션모든 활성 플레이어의 이벤트 상태를 가져옵니다. 여러 플레이어 인스턴스를 추적하는 데 유용합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAllPlayersEventsState();getCurrentTime
getCurrentTime 섹션현재 재생 위치(초)를 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getCurrentTime({} as PlayerIdOptions);toggleFullScreen
fullscreen 모드 켜기/끄기fullscreen 모드를 켜거나 끕니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.toggleFullScreen({} as ToggleFullScreenOptions);getPlaybackQuality
playback quality 가져오기현재 재생 품질을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackQuality({} as PlayerIdOptions);setPlaybackQuality
playback quality 설정네트워크 조건에 따라 실제 품질이 다를 수 있습니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackQuality({} as SetPlaybackQualityOptions);getAvailableQualityLevels
quality level 가져오기현재 비디오의 품질 레벨 목록을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailableQualityLevels({} as PlayerIdOptions);getDuration
Section titled “getDuration”현재 비디오의 길이를 초 단위로 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getDuration({} as PlayerIdOptions);getVideoUrl
Section titled “getVideoUrl”현재 비디오의 YouTube.com URL을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoUrl({} as PlayerIdOptions);getVideoEmbedCode
Section titled “getVideoEmbedCode”현재 비디오의 임베드 code를 가져옵니다. HTML iframe 임베드 code를 반환합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoEmbedCode({} as PlayerIdOptions);getPlaylist
Section titled “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
getIframe 섹션플레이어의 iframe DOM 요소를 가져옵니다. (웹 플랫폼 전용)
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getIframe({} as PlayerIdOptions);addEventListener
addEventListener 섹션이벤트 리스너를 플레이어에 추가합니다. (웹 플랫폼 전용)
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
YoutubePlayer.addEventListener({ playerId: 'my-player', eventName: 'onStateChange', listener: (event) => { console.log('Player state:', event.data); },});removeEventListener
removeEventListener 섹션이벤트 리스너를 플레이어에서 제거합니다. (웹 플랫폼 전용)
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.removeEventListener({} as PlayerEventListenerOptions<TEvent>);타입 참조
타입 참조 섹션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이 업스트림에서 변경될 때 다시 싱크를 실행하세요.
Getting Started에서 계속
Getting Started 섹션Capgo를 사용 중이라면 Getting Started 대시보드와 API 운영을 계획하고 싶다면 Using @capgo/capacitor-youtube-player 자연스러운 기능을 사용하는 데 @capgo/capacitor-youtube-player API 개요 API 구현 세부 정보 소개 __CAPGO_KEEP_0__ 키 API 키 구현 세부 정보 for the implementation detail in API Keys, and 기기 구현 세부 정보 편집 페이지