시작하기
설치
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 syncimport
importimport { YoutubePlayer } from '@capgo/capacitor-youtube-player';메인 WebView에서 YouTube Referer 차단을 고치기
메인 WebView에서 YouTube Referer 차단을 고치기YouTube가 플러그인 내에서 작동하지만 동일한 앱이 YouTube 페이지, 임베드, 또는 API를 통해 메인 WebView를 통해 로드할 때 실패하는 경우, Capacitor의 메인 WebView를 통해 로드하는 YouTube 요청을 허용하도록 설정합니다. 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.x에서 지원됩니다.
API
API 개요initialize
__CAPGO_KEEP_0__ 개요__CAPGO_KEEP_0__ 초기화
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 “영상 정지”영상 재생을 중단하고 로딩을 취소합니다. 이 메서드를 사용할 때는 주로 pauseVideo()를 사용하는 것이 좋습니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.stopVideo({} as PlayerIdOptions);playVideo
Section titled “영상 재생”현재 큐드 또는 로드된 영상을 재생합니다. 최종 플레이어 상태는 PLAYING (1)입니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideo({} as PlayerIdOptions);pauseVideo
Section titled “영상 일시 정지”현재 재생 중인 영상을 일시 정지합니다. 최종 플레이어 상태는 PAUSED (2), 이미 ENDED (0)일 경우를 제외합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.pauseVideo({} as PlayerIdOptions);영상의 특정 시간으로 이동합니다. 플레이어가 일시 정지 상태일 경우에는 일시 정지 상태가 유지되고, 재생 중일 경우에는 계속 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.seekTo({} as SeekToOptions);loadVideoById
Section titled “loadVideoById”YouTube ID를 사용하여 비디오를 로드하고 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoById({} as VideoByIdMethodOptions);cueVideoById
Section titled “cueVideoById”ID를 사용하여 비디오를 큐합니다. 재생하지 않습니다. thumbnail을 로드하고 플레이어를 준비하지만, playVideo()를 호출할 때까지 비디오를 요청하지 않습니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoById({} as VideoByIdMethodOptions);loadVideoByUrl
Section titled “loadVideoByUrl”URL을 사용하여 비디오를 로드하고 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadVideoByUrl({} as VideoByUrlMethodOptions);cueVideoByUrl
Section titled “cueVideoByUrl”URL을 사용하여 비디오를 큐합니다. 재생하지 않습니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cueVideoByUrl({} as VideoByUrlMethodOptions);cuePlaylist
Section titled “cuePlaylist”재생하지 않고 플레이리스트를 cue합니다. 플레이리스트를 로드하고 첫 번째 비디오를 준비합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.cuePlaylist({} as PlaylistMethodOptions);loadPlaylist
Section titled “loadPlaylist”플레이리스트를 로드하고 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadPlaylist({} as PlaylistMethodOptions);nextVideo
Section titled “nextVideo”플레이리스트의 다음 비디오를 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.nextVideo({} as PlayerIdOptions);previousVideo
Section titled “previousVideo”플레이리스트의 이전 비디오를 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.previousVideo({} as PlayerIdOptions);playVideoAt
Section titled “playVideoAt”플레이리스트의 특정 비디오를 인덱스에 따라 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideoAt({} as PlayVideoAtOptions);플레이어 오디오를 무음으로 설정합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.mute({} as PlayerIdOptions);unMute
Section titled “unMute”플레이어 오디오를 다시 켭니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.unMute({} as PlayerIdOptions);isMuted
Section titled “isMuted”플레이어가 현재 무음 상태인지 확인합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.isMuted({} as PlayerIdOptions);setVolume
Section titled “setVolume”플레이어 볼륨 수준을 설정합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setVolume({} as SetVolumeOptions);getVolume
Section titled “getVolume”현재 플레이어 볼륨 수준을 가져옵니다. 음소거 상태이더라도 볼륨을 반환합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVolume({} as PlayerIdOptions);setSize
Section titled “setSize”플레이어 크기를 픽셀 단위로 설정합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setSize({} as SetSizeOptions);getPlaybackRate
Section titled “getPlaybackRate”현재 재생 속도를 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackRate({} as PlayerIdOptions);setPlaybackRate
플레이백 속도 설정현재 동영상의 재생 속도 설정
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackRate({} as SetPlaybackRateOptions);getAvailablePlaybackRates
재생 속도 설정 가능한 목록 가져오기현재 동영상의 재생 속도 설정 가능한 목록 가져오기
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailablePlaybackRates({} as PlayerIdOptions);setLoop
반복 설정반복 설정을 사용하여 플레이리스트가 시작부터 다시 시작되도록 설정
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setLoop({} as SetLoopOptions);setShuffle
셔플 설정플레이리스트의 순서를 무작위로 설정
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setShuffle({} as SetShuffleOptions);getVideoLoadedFraction
Section titled “getVideoLoadedFraction”비디오가 버퍼링 된 비율을 가져옵니다. 더욱 신뢰할 수 있는 getVideoBytesLoaded/getVideoBytesTotal의 deprecated 버전입니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoLoadedFraction({} as PlayerIdOptions);getPlayerState
Section titled “getPlayerState”플레이어의 현재 상태를 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlayerState({} as PlayerIdOptions);getAllPlayersEventsState
Section titled “getAllPlayersEventsState”모든 활성 플레이어의 이벤트 상태를 가져옵니다. 여러 플레이어 인스턴스를 추적하는 데 유용합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAllPlayersEventsState();getCurrentTime
Section titled “getCurrentTime”현재 재생 위치(초)를 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getCurrentTime({} as PlayerIdOptions);toggleFullScreen
전면 모드 토글전면 모드 켜기/끄기
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.toggleFullScreen({} as ToggleFullScreenOptions);getPlaybackQuality
플레이백 품질 가져오기클립보드 복사
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackQuality({} as PlayerIdOptions);setPlaybackQuality
플레이백 품질 설정
네트워크 상황에 따라 실제 품질이 다를 수 있습니다.클립보드 복사
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackQuality({} as SetPlaybackQualityOptions);getAvailableQualityLevels
클립보드 복사전면 모드 토글
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
Section titled “getPlaylistIndex”현재 재생 중인 비디오의 플레이리스트 인덱스를 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylistIndex({} as PlayerIdOptions);getIframe
Section titled “getIframe”플레이어의 iframe DOM 요소를 가져옵니다. (웹 플랫폼 전용)
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getIframe({} as PlayerIdOptions);addEventListener
Section titled “addEventListener”플레이어에 이벤트 리스너를 추가합니다. (웹 플랫폼 전용)
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
YoutubePlayer.addEventListener({ playerId: 'my-player', eventName: 'onStateChange', listener: (event) => { console.log('Player state:', event.data); },});removeEventListener
Section titled “removeEventListener”플레이어에서 이벤트 리스너를 제거합니다. (웹 플랫폼 전용)
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.removeEventListener({} as PlayerEventListenerOptions<TEvent>);타입 참조
타입 참조 섹션PlayerIdOptions
플레이어 ID 옵션 섹션export interface PlayerIdOptions { playerId: string;}SeekToOptions
비디오로 이동 옵션 섹션export interface SeekToOptions extends PlayerIdOptions { playerId: string; seconds: number; allowSeekAhead: boolean;}VideoByIdMethodOptions
비디오 ID 메소드 옵션 섹션export interface VideoByIdMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsById;}VideoByUrlMethodOptions
비디오 URL 메소드 옵션 섹션export interface VideoByUrlMethodOptions extends PlayerIdOptions { playerId: string; options: IVideoOptionsByUrl;}PlaylistMethodOptions
플레이리스트 메소드 옵션 섹션export 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이 업스트림에서 변경될 때 다시 싱크를 실행하세요.
Getting Started에서 계속
Getting Started에서 계속이 플러그인을 사용하는 경우 Getting Started 계획 대시보드 및 API 운영을 위해 연결하세요. Using @capgo/capacitor-youtube-player Capgo의 내장 기능을 사용하는 @capgo/capacitor-youtube-player에 대해 API 개요 Capgo의 내장 기능을 사용하는 API 개요에 대해 소개 소개의 구현 세부 정보에 대해 API 키 Capgo의 내장 기능을 사용하는 API 키에 대해, 그리고 장치 장치의 구현 세부 정보에 대해