Getting Started
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함하여 __CAPGO_KEEP_0__를 복사할 수 있습니다.
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_KEEP_0__
__CAPGO_KEEP_6__AI-Assisted 설치를 사용하여 플러그인을 설치할 수 있습니다. 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 { YoutubePlayer } from '@capgo/capacitor-youtube-player';메인 웹뷰에서 YouTube Referer 차단을 고치세요.
Section titled “YouTube 메인 WebView에서 Referer 차단 고치기”YouTube가 플러그인 내에서 작동하지만 동일한 앱이 YouTube 페이지, 임베드, 또는 API를 통해 Capacitor의 메인 WebView를 통해 로드할 때 실패하는 경우, 활성화하세요. patchRefererHeader Capacitor 설정에서 활성화하세요.
활성화된 경우, 플러그인이 Capacitor을 sync/update 중에 패치하여 유투브 요청에 유효한 Referer 헤더를 포함합니다. Referer 클립보드 복사
{ "plugins": { "YoutubePlayer": { "patchRefererHeader": true, "refererHeader": "https://www.youtube.com" } }}- , and
youtube.com,youtube-nocookie.com요청이 영향을 받습니다.youtu.be이미 Referer 헤더를 정의한 요청은 원래 값 유지합니다. - 은 선택적이며 기본값이
Referer입니다. refererHeaderis optional and defaults tohttps://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
__CAPGO_KEEP_0__비디오 재생을 중단하고 로딩을 취소합니다. 이 메서드를 사용할 때는 주의하세요. 일반적으로 pauseVideo()를 사용하는 것이 좋습니다.
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_4____CAPGO_KEEP_0__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.seekTo({} as SeekToOptions);loadVideoById
__CAPGO_KEEP_0____CAPGO_KEEP_6__
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__ (loadPlaylist)__CAPGO_KEEP_2__을 불러와 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadPlaylist({} as PlaylistMethodOptions);nextVideo
__CAPGO_KEEP_1__ (nextVideo)재생목록에서 다음 비디오를 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.nextVideo({} as PlayerIdOptions);previousVideo
__CAPGO_KEEP_1__ (previousVideo)재생목록에서 이전 비디오를 재생합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.previousVideo({} as PlayerIdOptions);playVideoAt
__CAPGO_KEEP_1__ (playVideoAt)재생목록에서 특정 비디오를 인덱스에 따라 재생합니다.
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_1____CAPGO_KEEP_3__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setSize({} as SetSizeOptions);getPlaybackRate
__CAPGO_KEEP_1____CAPGO_KEEP_4__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackRate({} as PlayerIdOptions);setPlaybackRate
__CAPGO_KEEP_1____CAPGO_KEEP_5__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackRate({} as SetPlaybackRateOptions);getAvailablePlaybackRates
getAvailablePlaybackRates현재 비디오의 사용 가능한 재생 속도 목록을 가져옵니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailablePlaybackRates({} as PlayerIdOptions);setLoop
setLoop재생 목록 반복을 활성화하거나 비활성화합니다. 활성화 시, 마지막 비디오 이후 재생 목록이 처음부터 다시 시작됩니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setLoop({} as SetLoopOptions);setShuffle
setShuffle재생 목록 셔플을 활성화하거나 비활성화합니다.
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setShuffle({} as SetShuffleOptions);getVideoLoadedFraction
getVideoLoadedFraction비디오가 버퍼링된 비율을 가져옵니다. deprecated getVideoBytesLoaded/getVideoBytesTotal보다 신뢰성이 높습니다.
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____CAPGO_KEEP_2__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaybackQuality({} as PlayerIdOptions);setPlaybackQuality
__CAPGO_KEEP_1____CAPGO_KEEP_3__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setPlaybackQuality({} as SetPlaybackQualityOptions);getAvailableQualityLevels
__CAPGO_KEEP_1____CAPGO_KEEP_4__
import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAvailableQualityLevels({} as PlayerIdOptions);getDuration
__CAPGO_KEEP_1____CAPGO_KEEP_5__
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
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
addEventListener이벤트 리스너를 플레이어에서 제거합니다. (웹 플랫폼 전용)
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
비디오 바이 디엠 방법 옵션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
비디오 재생 위치 옵션export interface PlayVideoAtOptions extends PlayerIdOptions { playerId: string; index: number;}SetVolumeOptions
볼륨 설정 옵션export interface SetVolumeOptions extends PlayerIdOptions { playerId: string; volume: number;}SetSizeOptions
크기 설정 옵션export interface SetSizeOptions extends PlayerIdOptions { playerId: string; width: number; height: number;}SetPlaybackRateOptions
재생 속도 설정 옵션export interface SetPlaybackRateOptions extends PlayerIdOptions { playerId: string; suggestedRate: number;}SetLoopOptions
반복 설정 옵션export interface SetLoopOptions extends PlayerIdOptions { playerId: string; loopPlaylists: boolean;}SetShuffleOptions
셔플 설정 옵션export interface SetShuffleOptions extends PlayerIdOptions { playerId: string; shufflePlaylist: boolean;}ToggleFullScreenOptions
전면 모드 토글 옵션export 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 Using @capgo/capacitor-youtube-player API 개요 implementation 세부 정보를 위한 API Overview 소개 implementation 세부 정보를 위한 Introduction API 키 implementation 세부 정보를 위한 API Keys, 및 장치 편집 페이지