Skip to content

Getting Started

GitHub

__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-player
bunx cap sync
import { 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 입니다.
  • refererHeader is optional and defaults to https://www.youtube.com.
  • Capacitor에서 지원됩니다. 8.x iOS 및 Android 플랫폼에 설치된 경우.

API 개요

API 개요

YouTube 플레이어 인스턴스를 새로 생성합니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.initialize({
playerId: 'my-player',
videoId: 'dQw4w9WgXcQ',
playerSize: { width: 640, height: 360 },
privacyEnhanced: true
});

플레이어 인스턴스를 삭제하고 자원들을 해제합니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.destroy({} as PlayerIdOptions);

비디오 재생을 중단하고 로딩을 취소합니다. 이 메서드를 사용할 때는 주의하세요. 일반적으로 pauseVideo()를 사용하는 것이 좋습니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.stopVideo({} as PlayerIdOptions);

__CAPGO_KEEP_2__

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideo({} as PlayerIdOptions);

__CAPGO_KEEP_3__

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.pauseVideo({} as PlayerIdOptions);

__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);

__CAPGO_KEEP_2__을 불러와 재생합니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.loadPlaylist({} as PlaylistMethodOptions);

재생목록에서 다음 비디오를 재생합니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.nextVideo({} as PlayerIdOptions);

재생목록에서 이전 비디오를 재생합니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.previousVideo({} as PlayerIdOptions);

재생목록에서 특정 비디오를 인덱스에 따라 재생합니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.playVideoAt({} as PlayVideoAtOptions);

__CAPGO_KEEP_2__

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.mute({} as PlayerIdOptions);

__CAPGO_KEEP_3__

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.unMute({} as PlayerIdOptions);

__CAPGO_KEEP_4__

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.isMuted({} as PlayerIdOptions);

__CAPGO_KEEP_5__

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.setVolume({} as SetVolumeOptions);

__CAPGO_KEEP_2__

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVolume({} as PlayerIdOptions);

__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);

현재 플레이어 상태 가져오기.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlayerState({} as PlayerIdOptions);

활성 플레이어 여러 인스턴스 추적하기 위해 이벤트 상태를 가져옵니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getAllPlayersEventsState();

현재 재생 위치 (초) 가져오기.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getCurrentTime({} as PlayerIdOptions);

전체 화면 모드 켜기/끄기

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);

현재 동영상의 YouTube.com URL을 가져옵니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoUrl({} as PlayerIdOptions);

현재 동영상의 code을 가져옵니다. 현재 동영상의 HTML iframe code을 반환합니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getVideoEmbedCode({} as PlayerIdOptions);

현재 플레이리스트의 동영상 ID 배열을 가져옵니다.

import { YoutubePlayer } from '@capgo/capacitor-youtube-player';
await YoutubePlayer.getPlaylist({} as PlayerIdOptions);

현재 플레이리스트에서 재생 중인 동영상의 인덱스를 가져옵니다.

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;
}
export interface VideoByIdMethodOptions extends PlayerIdOptions {
playerId: string;
options: IVideoOptionsById;
}

VideoByUrlMethodOptions

비디오 바이 URL 방법 옵션
export interface VideoByUrlMethodOptions extends PlayerIdOptions {
playerId: string;
options: IVideoOptionsByUrl;
}
export interface PlaylistMethodOptions extends PlayerIdOptions {
playerId: string;
playlistOptions: IPlaylistOptions;
}
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, 및 장치 편집 페이지