capacitor-youtube-player
Advanced tools
@@ -1,2 +0,2 @@ | ||
| import type { IPlayerState, IPlayerOptions } from './web/models/models'; | ||
| import type { IPlayerState, IPlayerOptions, IPlaylistOptions } from './web/models/models'; | ||
| export interface YoutubePlayerPlugin { | ||
@@ -76,2 +76,17 @@ initialize(options: IPlayerOptions): Promise<{ | ||
| /***********/ | ||
| cuePlaylist(playerId: string, playlistOptions: IPlaylistOptions): Promise<{ | ||
| result: { | ||
| method: string; | ||
| value: boolean; | ||
| }; | ||
| }>; | ||
| loadPlaylist(playerId: string, playlistOptions: IPlaylistOptions): Promise<{ | ||
| result: { | ||
| method: string; | ||
| value: boolean; | ||
| }; | ||
| }>; | ||
| /***********/ | ||
| /***********/ | ||
| /***********/ | ||
| mute(playerId: string): Promise<{ | ||
@@ -78,0 +93,0 @@ result: { |
+15
-1
| import { WebPlugin } from '@capacitor/core'; | ||
| import type { YoutubePlayerPlugin } from './definitions'; | ||
| import type { IPlayerSize, IPlayerState, IPlayerOptions, RequiredKeys } from './web/models/models'; | ||
| import type { IPlayerSize, IPlayerState, IPlayerOptions, RequiredKeys, IPlaylistOptions } from './web/models/models'; | ||
| export declare function YT(): any; | ||
@@ -94,2 +94,16 @@ export declare function Player(): any; | ||
| /*********/ | ||
| cuePlaylist(playerId: string, playlistOptions: IPlaylistOptions): Promise<{ | ||
| result: { | ||
| method: string; | ||
| value: boolean; | ||
| }; | ||
| }>; | ||
| loadPlaylist(playerId: string, playlistOptions: IPlaylistOptions): Promise<{ | ||
| result: { | ||
| method: string; | ||
| value: boolean; | ||
| }; | ||
| }>; | ||
| /*********/ | ||
| /*********/ | ||
| mute(playerId: string): Promise<{ | ||
@@ -96,0 +110,0 @@ result: { |
+13
-0
@@ -180,2 +180,15 @@ import { WebPlugin } from '@capacitor/core'; | ||
| /*********/ | ||
| // Methods for playing playlist. | ||
| /*********/ | ||
| async cuePlaylist(playerId, playlistOptions) { | ||
| this.playerLogger.log(`player "${playerId}" -> cuePlaylist with options ${JSON.stringify(playlistOptions)}`); | ||
| this.players[playerId].cuePlaylist(playlistOptions); | ||
| return Promise.resolve({ result: { method: 'cuePlaylist', value: true } }); | ||
| } | ||
| async loadPlaylist(playerId, playlistOptions) { | ||
| this.playerLogger.log(`player "${playerId}" -> loadPlaylist with options ${playlistOptions}`); | ||
| this.players[playerId].loadPlaylist(playlistOptions); | ||
| return Promise.resolve({ result: { method: 'loadPlaylist', value: true } }); | ||
| } | ||
| /*********/ | ||
| // Methods changing the player volume. | ||
@@ -182,0 +195,0 @@ /*********/ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"} |
@@ -46,2 +46,9 @@ export declare type RequiredKeys<T, K extends keyof T> = Exclude<T, K> & { | ||
| } | ||
| export interface IPlaylistOptions { | ||
| listType: 'playlist' | 'search' | 'user_uploads'; | ||
| list: string; | ||
| index?: number; | ||
| startSeconds?: number; | ||
| suggestedQuality?: string; | ||
| } | ||
| export interface IPlayerLog { | ||
@@ -48,0 +55,0 @@ log(primaryMessage: string, ...supportingData: any[]): void; |
+13
-0
@@ -216,2 +216,15 @@ 'use strict'; | ||
| /*********/ | ||
| // Methods for playing playlist. | ||
| /*********/ | ||
| async cuePlaylist(playerId, playlistOptions) { | ||
| this.playerLogger.log(`player "${playerId}" -> cuePlaylist with options ${JSON.stringify(playlistOptions)}`); | ||
| this.players[playerId].cuePlaylist(playlistOptions); | ||
| return Promise.resolve({ result: { method: 'cuePlaylist', value: true } }); | ||
| } | ||
| async loadPlaylist(playerId, playlistOptions) { | ||
| this.playerLogger.log(`player "${playerId}" -> loadPlaylist with options ${playlistOptions}`); | ||
| this.players[playerId].loadPlaylist(playlistOptions); | ||
| return Promise.resolve({ result: { method: 'loadPlaylist', value: true } }); | ||
| } | ||
| /*********/ | ||
| // Methods changing the player volume. | ||
@@ -218,0 +231,0 @@ /*********/ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/log.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst YoutubePlayer = registerPlugin('YoutubePlayer', {\n web: () => import('./web').then(m => new m.YoutubePlayerPluginWeb()),\n});\nexport * from './definitions';\nexport { YoutubePlayer };\n//# sourceMappingURL=index.js.map","export class Log {\n constructor(logEnabled = false) {\n this.logEnabled = false;\n this.logEnabled = logEnabled;\n }\n log(msg, ...suportingDetails) {\n this.emitLogMessage(\"log\", msg, suportingDetails);\n }\n debug(msg, ...suportingDetails) {\n this.emitLogMessage(\"debug\", msg, suportingDetails);\n }\n warn(msg, ...suportingDetails) {\n this.emitLogMessage(\"warn\", msg, suportingDetails);\n }\n error(msg, ...suportingDetails) {\n this.emitLogMessage(\"error\", msg, suportingDetails);\n }\n info(msg, ...suportingDetails) {\n this.emitLogMessage(\"info\", msg, suportingDetails);\n }\n emitLogMessage(msgType, msg, suportingDetails) {\n if (this.logEnabled) {\n suportingDetails.length > 0 ? console[msgType](\"[Youtube Player Plugin Web]: \" + msg, suportingDetails)\n : console[msgType](\"[Youtube Player Plugin Web]: \" + msg);\n }\n }\n}\n//# sourceMappingURL=log.js.map","import { WebPlugin } from '@capacitor/core';\nimport { Log } from './log';\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function YT() {\n return window['YT'];\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Player() {\n return YT().Player;\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function PlayerState() {\n return YT().PlayerState;\n}\nexport class YoutubePlayerPluginWeb extends WebPlugin {\n constructor() {\n super({\n name: 'YoutubePlayerPluginWeb',\n platforms: ['web']\n });\n this.players = [];\n this.playersEventsState = new Map();\n this.playerApiLoaded = false;\n this.defaultSizes = {\n height: 270,\n width: 367\n };\n }\n async loadPlayerApi() {\n this.playerLogger.log(\"loadPlayerApi\");\n return await new Promise(resolve => {\n window.onYouTubeIframeAPIReady = () => {\n this.playerLogger.log(\"onYouTubeIframeAPIReady\");\n this.playerApiLoaded = true;\n resolve(true);\n };\n // This code loads the IFrame Player API code asynchronously.\n const tag = document.createElement('script');\n tag.type = 'text/javascript';\n tag.src = \"https://www.youtube.com/iframe_api\";\n const firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n });\n }\n checkSize(options) {\n const playerSize = {\n height: options.playerSize.height || this.defaultSizes.height,\n width: options.playerSize.width || this.defaultSizes.width\n };\n if (playerSize.height > window.innerHeight)\n playerSize.height = window.innerHeight;\n if (playerSize.width > window.innerWidth)\n playerSize.width = window.innerWidth;\n return playerSize;\n }\n // This function creates an <iframe> (and YouTube player)\n // after the API code downloads.\n async createPlayer(options) {\n this.playerLogger.log(\"createPlayer\");\n const playerSize = this.checkSize(options);\n return await new Promise(resolve => {\n const player = Player();\n this.players[options.playerId] = new player(options.playerId, Object.assign(Object.assign({ playerVars: options.playerVars }, playerSize), { fullscreen: options.fullscreen, videoId: options.videoId, events: {\n // The API will call this function when the video player is ready.\n 'onReady': (event) => {\n var _a;\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerReady`);\n const state = { events: { onReady: { text: 'onReady', value: true } } };\n this.playersEventsState.set(options.playerId, state);\n if (((_a = options === null || options === void 0 ? void 0 : options.playerVars) === null || _a === void 0 ? void 0 : _a.autoplay) === 1) {\n event.target.mute();\n event.target.playVideo();\n }\n return resolve({ playerReady: true, player: this.players[options.playerId] });\n },\n 'onStateChange': (event) => {\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerStateChange`);\n switch (event.data) {\n case PlayerState().PLAYING:\n this.playerLogger.log(`player \"${options.playerId}\" -> playing`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'playing', value: PlayerState().PLAYING };\n if (options.fullscreen) {\n const iframe = document.getElementById(options.playerId);\n const requestFullScreen = iframe === null || iframe === void 0 ? void 0 : iframe.requestFullscreen;\n if (requestFullScreen) {\n requestFullScreen.bind(iframe)();\n }\n }\n break;\n case PlayerState().PAUSED:\n this.playerLogger.log(`player \"${options.playerId}\" -> paused`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'paused', value: PlayerState().PAUSED };\n break;\n case PlayerState().ENDED:\n this.playerLogger.log(`player \"${options.playerId}\" -> ended`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'ended', value: PlayerState().ENDED };\n break;\n case PlayerState().BUFFERING:\n this.playerLogger.log(`player \"${options.playerId}\" -> buffering`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'buffering', value: PlayerState().BUFFERING };\n break;\n case PlayerState().CUED:\n this.playerLogger.log(`player \"${options.playerId}\" -> cued`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'cued', value: PlayerState().CUED };\n break;\n }\n },\n 'onPlaybackQualityChange': (event) => {\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerPlaybackQualityChange quality ${event.data}`);\n this.playersEventsState.get(options.playerId).events.onPlaybackQualityChange = { text: 'onPlaybackQualityChange', value: event.data };\n },\n 'onError': (error) => {\n this.playerLogger.error(`player \"${options.playerId}\" -> onPlayerError`, { error: error });\n this.playersEventsState.get(options.playerId).events.onError = { text: 'onError', value: error };\n }\n } }));\n });\n }\n async initialize(options) {\n this.playerLogger = new Log(options.debug);\n this.playerLogger.log(\"initialize\");\n if (!this.playerApiLoaded) {\n const result = await this.loadPlayerApi();\n this.playerLogger.log(\"loadPlayerApi result\", { result: result });\n }\n if (this.playerApiLoaded) {\n const playerReady = await this.createPlayer(options);\n this.playerLogger.log(\"loadPlayerApi initialize completed\", { playerReady: playerReady });\n return Promise.resolve(playerReady);\n }\n }\n async destroy(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> destroy`);\n this.players[playerId].destroy();\n return Promise.resolve({ result: { method: 'destroy', value: true } });\n }\n // Methods playback controls and player settings.\n /*********/\n // Stops and cancels loading of the current video. This function should be reserved for rare situations when you know that the user will not be watching\n // additional video in the player. If your intent is to pause the video, you should just call the pauseVideo function. If you want to change the video\n // that the player is playing, you can call one of the queueing functions without calling stopVideo first.\n async stopVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> stopVideo`);\n this.players[playerId].stopVideo();\n return Promise.resolve({ result: { method: 'stopVideo', value: true } });\n }\n // Plays the currently cued/loaded video. The final player state after this function executes will be playing (1).\n async playVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> playVideo`);\n this.players[playerId].playVideo();\n return Promise.resolve({ result: { method: 'playVideo', value: true } });\n }\n // Pauses the currently playing video. The final player state after this function executes will be paused (2) unless the player is in the ended (0) \n // state when the function is called, in which case the player state will not change.\n async pauseVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> pauseVideo`);\n this.players[playerId].pauseVideo();\n return Promise.resolve({ result: { method: 'pauseVideo', value: true } });\n }\n // Seeks to a specified time in the video. If the player is paused when the function is called, it will remain paused. If the function is called from\n // another state (playing, video cued, etc.), the player will play the video.\n async seekTo(playerId, seconds, allowSeekAhead) {\n this.playerLogger.log(`player \"${playerId}\" -> seekTo ${seconds} seconds`);\n this.players[playerId].seekTo(seconds, allowSeekAhead);\n return Promise.resolve({ result: { method: 'seekTo', value: true, seconds: seconds, allowSeekAhead: allowSeekAhead } });\n }\n // Loads and plays the specified video.\n async loadVideoById(playerId, options) {\n this.playerLogger.log(`player \"${playerId}\" -> loadVideoById with options ${options}`);\n this.players[playerId].loadVideoById(options);\n return Promise.resolve({ result: { method: 'loadVideoById', value: true, options: options } });\n }\n // Loads the specified video's thumbnail and prepares the player to play the video. The player does not request the FLV until playVideo() or seekTo() is called.\n async cueVideoById(playerId, options) {\n this.playerLogger.log(`player \"${playerId}\" -> cueVideoById with options ${options}`);\n this.players[playerId].cueVideoById(options);\n return Promise.resolve({ result: { method: 'cueVideoById', value: true, options: options } });\n }\n /*********/\n // Methods changing the player volume.\n /*********/\n // Mutes the player.\n async mute(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> mute`);\n this.players[playerId].mute();\n return Promise.resolve({ result: { method: 'mute', value: true } });\n }\n // Unmutes the player.\n async unMute(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> unMute`);\n this.players[playerId].unMute();\n return Promise.resolve({ result: { method: 'unMute', value: true } });\n }\n // Returns true if the player is muted, false if not.\n async isMuted(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> isMuted`);\n return Promise.resolve({ result: { method: 'isMuted', value: this.players[playerId].isMuted() } });\n }\n // Sets the volume. Accepts an integer between 0 and 100.\n async setVolume(playerId, volume) {\n this.playerLogger.log(`player \"${playerId}\" -> setVolume ${volume}`);\n this.players[playerId].setVolume(volume);\n return Promise.resolve({ result: { method: 'setVolume', value: volume } });\n }\n // Returns the player's current volume, an integer between 0 and 100. Note that getVolume() will return the volume even if the player is muted.\n async getVolume(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getVolume`);\n return Promise.resolve({ result: { method: 'getVolume', value: this.players[playerId].getVolume() } });\n }\n /*********/\n // Methods setting the player size.\n /*********/\n // Sets the size in pixels of the <iframe> that contains the player.\n async setSize(playerId, width, height) {\n this.playerLogger.log(`player \"${playerId}\" -> setSize width: ${width} height: ${height}`);\n this.players[playerId].setSize(width, height);\n return Promise.resolve({ result: { method: 'setSize', value: { width: width, height: height } } });\n }\n /*********/\n // Methods playback status.\n /*********/\n // Returns a number between 0 and 1 that specifies the percentage of the video that the player shows as buffered.\n // This method returns a more reliable number than the now-deprecated getVideoBytesLoaded and getVideoBytesTotal methods.\n async getVideoLoadedFraction(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getVideoLoadedFraction`);\n return Promise.resolve({ result: { method: 'getVideoLoadedFraction', value: this.players[playerId].getVideoLoadedFraction() } });\n }\n // Returns the state of the player. Possible values are:\n // -1 – unstarted\n // 0 – ended\n // 1 – playing\n // 2 – paused\n // 3 – buffering\n // 5 – video cued\n async getPlayerState(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getPlayerState`);\n return Promise.resolve({ result: { method: 'getPlayerState', value: this.players[playerId].getPlayerState() } });\n }\n async getAllPlayersEventsState() {\n this.playerLogger.log(\"getAllPlayersEventsState\");\n return Promise.resolve({ result: { method: 'getAllPlayersEventsState', value: this.playersEventsState } });\n }\n // Returns the elapsed time in seconds since the video started playing.\n async getCurrentTime(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getCurrentTime`);\n return Promise.resolve({ result: { method: 'getCurrentTime', value: this.players[playerId].getCurrentTime() } });\n }\n async toggleFullScreen(playerId, isFullScreen) {\n this.playerLogger.log(`player \"${playerId}\" -> toggleFullScreen`);\n let { height, width } = this.defaultSizes;\n if (!isFullScreen) {\n height = window.innerHeight;\n width = window.innerWidth;\n }\n this.players[playerId].setSize(width, height);\n return Promise.resolve({ result: { method: 'toggleFullScreen', value: isFullScreen } });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"} | ||
| {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/log.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst YoutubePlayer = registerPlugin('YoutubePlayer', {\n web: () => import('./web').then(m => new m.YoutubePlayerPluginWeb()),\n});\nexport * from './definitions';\nexport { YoutubePlayer };\n//# sourceMappingURL=index.js.map","export class Log {\n constructor(logEnabled = false) {\n this.logEnabled = false;\n this.logEnabled = logEnabled;\n }\n log(msg, ...suportingDetails) {\n this.emitLogMessage(\"log\", msg, suportingDetails);\n }\n debug(msg, ...suportingDetails) {\n this.emitLogMessage(\"debug\", msg, suportingDetails);\n }\n warn(msg, ...suportingDetails) {\n this.emitLogMessage(\"warn\", msg, suportingDetails);\n }\n error(msg, ...suportingDetails) {\n this.emitLogMessage(\"error\", msg, suportingDetails);\n }\n info(msg, ...suportingDetails) {\n this.emitLogMessage(\"info\", msg, suportingDetails);\n }\n emitLogMessage(msgType, msg, suportingDetails) {\n if (this.logEnabled) {\n suportingDetails.length > 0 ? console[msgType](\"[Youtube Player Plugin Web]: \" + msg, suportingDetails)\n : console[msgType](\"[Youtube Player Plugin Web]: \" + msg);\n }\n }\n}\n//# sourceMappingURL=log.js.map","import { WebPlugin } from '@capacitor/core';\nimport { Log } from './log';\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function YT() {\n return window['YT'];\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Player() {\n return YT().Player;\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function PlayerState() {\n return YT().PlayerState;\n}\nexport class YoutubePlayerPluginWeb extends WebPlugin {\n constructor() {\n super({\n name: 'YoutubePlayerPluginWeb',\n platforms: ['web']\n });\n this.players = [];\n this.playersEventsState = new Map();\n this.playerApiLoaded = false;\n this.defaultSizes = {\n height: 270,\n width: 367\n };\n }\n async loadPlayerApi() {\n this.playerLogger.log(\"loadPlayerApi\");\n return await new Promise(resolve => {\n window.onYouTubeIframeAPIReady = () => {\n this.playerLogger.log(\"onYouTubeIframeAPIReady\");\n this.playerApiLoaded = true;\n resolve(true);\n };\n // This code loads the IFrame Player API code asynchronously.\n const tag = document.createElement('script');\n tag.type = 'text/javascript';\n tag.src = \"https://www.youtube.com/iframe_api\";\n const firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n });\n }\n checkSize(options) {\n const playerSize = {\n height: options.playerSize.height || this.defaultSizes.height,\n width: options.playerSize.width || this.defaultSizes.width\n };\n if (playerSize.height > window.innerHeight)\n playerSize.height = window.innerHeight;\n if (playerSize.width > window.innerWidth)\n playerSize.width = window.innerWidth;\n return playerSize;\n }\n // This function creates an <iframe> (and YouTube player)\n // after the API code downloads.\n async createPlayer(options) {\n this.playerLogger.log(\"createPlayer\");\n const playerSize = this.checkSize(options);\n return await new Promise(resolve => {\n const player = Player();\n this.players[options.playerId] = new player(options.playerId, Object.assign(Object.assign({ playerVars: options.playerVars }, playerSize), { fullscreen: options.fullscreen, videoId: options.videoId, events: {\n // The API will call this function when the video player is ready.\n 'onReady': (event) => {\n var _a;\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerReady`);\n const state = { events: { onReady: { text: 'onReady', value: true } } };\n this.playersEventsState.set(options.playerId, state);\n if (((_a = options === null || options === void 0 ? void 0 : options.playerVars) === null || _a === void 0 ? void 0 : _a.autoplay) === 1) {\n event.target.mute();\n event.target.playVideo();\n }\n return resolve({ playerReady: true, player: this.players[options.playerId] });\n },\n 'onStateChange': (event) => {\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerStateChange`);\n switch (event.data) {\n case PlayerState().PLAYING:\n this.playerLogger.log(`player \"${options.playerId}\" -> playing`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'playing', value: PlayerState().PLAYING };\n if (options.fullscreen) {\n const iframe = document.getElementById(options.playerId);\n const requestFullScreen = iframe === null || iframe === void 0 ? void 0 : iframe.requestFullscreen;\n if (requestFullScreen) {\n requestFullScreen.bind(iframe)();\n }\n }\n break;\n case PlayerState().PAUSED:\n this.playerLogger.log(`player \"${options.playerId}\" -> paused`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'paused', value: PlayerState().PAUSED };\n break;\n case PlayerState().ENDED:\n this.playerLogger.log(`player \"${options.playerId}\" -> ended`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'ended', value: PlayerState().ENDED };\n break;\n case PlayerState().BUFFERING:\n this.playerLogger.log(`player \"${options.playerId}\" -> buffering`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'buffering', value: PlayerState().BUFFERING };\n break;\n case PlayerState().CUED:\n this.playerLogger.log(`player \"${options.playerId}\" -> cued`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'cued', value: PlayerState().CUED };\n break;\n }\n },\n 'onPlaybackQualityChange': (event) => {\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerPlaybackQualityChange quality ${event.data}`);\n this.playersEventsState.get(options.playerId).events.onPlaybackQualityChange = { text: 'onPlaybackQualityChange', value: event.data };\n },\n 'onError': (error) => {\n this.playerLogger.error(`player \"${options.playerId}\" -> onPlayerError`, { error: error });\n this.playersEventsState.get(options.playerId).events.onError = { text: 'onError', value: error };\n }\n } }));\n });\n }\n async initialize(options) {\n this.playerLogger = new Log(options.debug);\n this.playerLogger.log(\"initialize\");\n if (!this.playerApiLoaded) {\n const result = await this.loadPlayerApi();\n this.playerLogger.log(\"loadPlayerApi result\", { result: result });\n }\n if (this.playerApiLoaded) {\n const playerReady = await this.createPlayer(options);\n this.playerLogger.log(\"loadPlayerApi initialize completed\", { playerReady: playerReady });\n return Promise.resolve(playerReady);\n }\n }\n async destroy(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> destroy`);\n this.players[playerId].destroy();\n return Promise.resolve({ result: { method: 'destroy', value: true } });\n }\n // Methods playback controls and player settings.\n /*********/\n // Stops and cancels loading of the current video. This function should be reserved for rare situations when you know that the user will not be watching\n // additional video in the player. If your intent is to pause the video, you should just call the pauseVideo function. If you want to change the video\n // that the player is playing, you can call one of the queueing functions without calling stopVideo first.\n async stopVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> stopVideo`);\n this.players[playerId].stopVideo();\n return Promise.resolve({ result: { method: 'stopVideo', value: true } });\n }\n // Plays the currently cued/loaded video. The final player state after this function executes will be playing (1).\n async playVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> playVideo`);\n this.players[playerId].playVideo();\n return Promise.resolve({ result: { method: 'playVideo', value: true } });\n }\n // Pauses the currently playing video. The final player state after this function executes will be paused (2) unless the player is in the ended (0) \n // state when the function is called, in which case the player state will not change.\n async pauseVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> pauseVideo`);\n this.players[playerId].pauseVideo();\n return Promise.resolve({ result: { method: 'pauseVideo', value: true } });\n }\n // Seeks to a specified time in the video. If the player is paused when the function is called, it will remain paused. If the function is called from\n // another state (playing, video cued, etc.), the player will play the video.\n async seekTo(playerId, seconds, allowSeekAhead) {\n this.playerLogger.log(`player \"${playerId}\" -> seekTo ${seconds} seconds`);\n this.players[playerId].seekTo(seconds, allowSeekAhead);\n return Promise.resolve({ result: { method: 'seekTo', value: true, seconds: seconds, allowSeekAhead: allowSeekAhead } });\n }\n // Loads and plays the specified video.\n async loadVideoById(playerId, options) {\n this.playerLogger.log(`player \"${playerId}\" -> loadVideoById with options ${options}`);\n this.players[playerId].loadVideoById(options);\n return Promise.resolve({ result: { method: 'loadVideoById', value: true, options: options } });\n }\n // Loads the specified video's thumbnail and prepares the player to play the video. The player does not request the FLV until playVideo() or seekTo() is called.\n async cueVideoById(playerId, options) {\n this.playerLogger.log(`player \"${playerId}\" -> cueVideoById with options ${options}`);\n this.players[playerId].cueVideoById(options);\n return Promise.resolve({ result: { method: 'cueVideoById', value: true, options: options } });\n }\n /*********/\n // Methods for playing playlist.\n /*********/\n async cuePlaylist(playerId, playlistOptions) {\n this.playerLogger.log(`player \"${playerId}\" -> cuePlaylist with options ${JSON.stringify(playlistOptions)}`);\n this.players[playerId].cuePlaylist(playlistOptions);\n return Promise.resolve({ result: { method: 'cuePlaylist', value: true } });\n }\n async loadPlaylist(playerId, playlistOptions) {\n this.playerLogger.log(`player \"${playerId}\" -> loadPlaylist with options ${playlistOptions}`);\n this.players[playerId].loadPlaylist(playlistOptions);\n return Promise.resolve({ result: { method: 'loadPlaylist', value: true } });\n }\n /*********/\n // Methods changing the player volume.\n /*********/\n // Mutes the player.\n async mute(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> mute`);\n this.players[playerId].mute();\n return Promise.resolve({ result: { method: 'mute', value: true } });\n }\n // Unmutes the player.\n async unMute(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> unMute`);\n this.players[playerId].unMute();\n return Promise.resolve({ result: { method: 'unMute', value: true } });\n }\n // Returns true if the player is muted, false if not.\n async isMuted(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> isMuted`);\n return Promise.resolve({ result: { method: 'isMuted', value: this.players[playerId].isMuted() } });\n }\n // Sets the volume. Accepts an integer between 0 and 100.\n async setVolume(playerId, volume) {\n this.playerLogger.log(`player \"${playerId}\" -> setVolume ${volume}`);\n this.players[playerId].setVolume(volume);\n return Promise.resolve({ result: { method: 'setVolume', value: volume } });\n }\n // Returns the player's current volume, an integer between 0 and 100. Note that getVolume() will return the volume even if the player is muted.\n async getVolume(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getVolume`);\n return Promise.resolve({ result: { method: 'getVolume', value: this.players[playerId].getVolume() } });\n }\n /*********/\n // Methods setting the player size.\n /*********/\n // Sets the size in pixels of the <iframe> that contains the player.\n async setSize(playerId, width, height) {\n this.playerLogger.log(`player \"${playerId}\" -> setSize width: ${width} height: ${height}`);\n this.players[playerId].setSize(width, height);\n return Promise.resolve({ result: { method: 'setSize', value: { width: width, height: height } } });\n }\n /*********/\n // Methods playback status.\n /*********/\n // Returns a number between 0 and 1 that specifies the percentage of the video that the player shows as buffered.\n // This method returns a more reliable number than the now-deprecated getVideoBytesLoaded and getVideoBytesTotal methods.\n async getVideoLoadedFraction(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getVideoLoadedFraction`);\n return Promise.resolve({ result: { method: 'getVideoLoadedFraction', value: this.players[playerId].getVideoLoadedFraction() } });\n }\n // Returns the state of the player. Possible values are:\n // -1 – unstarted\n // 0 – ended\n // 1 – playing\n // 2 – paused\n // 3 – buffering\n // 5 – video cued\n async getPlayerState(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getPlayerState`);\n return Promise.resolve({ result: { method: 'getPlayerState', value: this.players[playerId].getPlayerState() } });\n }\n async getAllPlayersEventsState() {\n this.playerLogger.log(\"getAllPlayersEventsState\");\n return Promise.resolve({ result: { method: 'getAllPlayersEventsState', value: this.playersEventsState } });\n }\n // Returns the elapsed time in seconds since the video started playing.\n async getCurrentTime(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getCurrentTime`);\n return Promise.resolve({ result: { method: 'getCurrentTime', value: this.players[playerId].getCurrentTime() } });\n }\n async toggleFullScreen(playerId, isFullScreen) {\n this.playerLogger.log(`player \"${playerId}\" -> toggleFullScreen`);\n let { height, width } = this.defaultSizes;\n if (!isFullScreen) {\n height = window.innerHeight;\n width = window.innerWidth;\n }\n this.players[playerId].setSize(width, height);\n return Promise.resolve({ result: { method: 'toggleFullScreen', value: isFullScreen } });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"} |
+13
-0
@@ -213,2 +213,15 @@ var capacitorPlugin = (function (exports, core) { | ||
| /*********/ | ||
| // Methods for playing playlist. | ||
| /*********/ | ||
| async cuePlaylist(playerId, playlistOptions) { | ||
| this.playerLogger.log(`player "${playerId}" -> cuePlaylist with options ${JSON.stringify(playlistOptions)}`); | ||
| this.players[playerId].cuePlaylist(playlistOptions); | ||
| return Promise.resolve({ result: { method: 'cuePlaylist', value: true } }); | ||
| } | ||
| async loadPlaylist(playerId, playlistOptions) { | ||
| this.playerLogger.log(`player "${playerId}" -> loadPlaylist with options ${playlistOptions}`); | ||
| this.players[playerId].loadPlaylist(playlistOptions); | ||
| return Promise.resolve({ result: { method: 'loadPlaylist', value: true } }); | ||
| } | ||
| /*********/ | ||
| // Methods changing the player volume. | ||
@@ -215,0 +228,0 @@ /*********/ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"plugin.js","sources":["esm/index.js","esm/log.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst YoutubePlayer = registerPlugin('YoutubePlayer', {\n web: () => import('./web').then(m => new m.YoutubePlayerPluginWeb()),\n});\nexport * from './definitions';\nexport { YoutubePlayer };\n//# sourceMappingURL=index.js.map","export class Log {\n constructor(logEnabled = false) {\n this.logEnabled = false;\n this.logEnabled = logEnabled;\n }\n log(msg, ...suportingDetails) {\n this.emitLogMessage(\"log\", msg, suportingDetails);\n }\n debug(msg, ...suportingDetails) {\n this.emitLogMessage(\"debug\", msg, suportingDetails);\n }\n warn(msg, ...suportingDetails) {\n this.emitLogMessage(\"warn\", msg, suportingDetails);\n }\n error(msg, ...suportingDetails) {\n this.emitLogMessage(\"error\", msg, suportingDetails);\n }\n info(msg, ...suportingDetails) {\n this.emitLogMessage(\"info\", msg, suportingDetails);\n }\n emitLogMessage(msgType, msg, suportingDetails) {\n if (this.logEnabled) {\n suportingDetails.length > 0 ? console[msgType](\"[Youtube Player Plugin Web]: \" + msg, suportingDetails)\n : console[msgType](\"[Youtube Player Plugin Web]: \" + msg);\n }\n }\n}\n//# sourceMappingURL=log.js.map","import { WebPlugin } from '@capacitor/core';\nimport { Log } from './log';\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function YT() {\n return window['YT'];\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Player() {\n return YT().Player;\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function PlayerState() {\n return YT().PlayerState;\n}\nexport class YoutubePlayerPluginWeb extends WebPlugin {\n constructor() {\n super({\n name: 'YoutubePlayerPluginWeb',\n platforms: ['web']\n });\n this.players = [];\n this.playersEventsState = new Map();\n this.playerApiLoaded = false;\n this.defaultSizes = {\n height: 270,\n width: 367\n };\n }\n async loadPlayerApi() {\n this.playerLogger.log(\"loadPlayerApi\");\n return await new Promise(resolve => {\n window.onYouTubeIframeAPIReady = () => {\n this.playerLogger.log(\"onYouTubeIframeAPIReady\");\n this.playerApiLoaded = true;\n resolve(true);\n };\n // This code loads the IFrame Player API code asynchronously.\n const tag = document.createElement('script');\n tag.type = 'text/javascript';\n tag.src = \"https://www.youtube.com/iframe_api\";\n const firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n });\n }\n checkSize(options) {\n const playerSize = {\n height: options.playerSize.height || this.defaultSizes.height,\n width: options.playerSize.width || this.defaultSizes.width\n };\n if (playerSize.height > window.innerHeight)\n playerSize.height = window.innerHeight;\n if (playerSize.width > window.innerWidth)\n playerSize.width = window.innerWidth;\n return playerSize;\n }\n // This function creates an <iframe> (and YouTube player)\n // after the API code downloads.\n async createPlayer(options) {\n this.playerLogger.log(\"createPlayer\");\n const playerSize = this.checkSize(options);\n return await new Promise(resolve => {\n const player = Player();\n this.players[options.playerId] = new player(options.playerId, Object.assign(Object.assign({ playerVars: options.playerVars }, playerSize), { fullscreen: options.fullscreen, videoId: options.videoId, events: {\n // The API will call this function when the video player is ready.\n 'onReady': (event) => {\n var _a;\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerReady`);\n const state = { events: { onReady: { text: 'onReady', value: true } } };\n this.playersEventsState.set(options.playerId, state);\n if (((_a = options === null || options === void 0 ? void 0 : options.playerVars) === null || _a === void 0 ? void 0 : _a.autoplay) === 1) {\n event.target.mute();\n event.target.playVideo();\n }\n return resolve({ playerReady: true, player: this.players[options.playerId] });\n },\n 'onStateChange': (event) => {\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerStateChange`);\n switch (event.data) {\n case PlayerState().PLAYING:\n this.playerLogger.log(`player \"${options.playerId}\" -> playing`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'playing', value: PlayerState().PLAYING };\n if (options.fullscreen) {\n const iframe = document.getElementById(options.playerId);\n const requestFullScreen = iframe === null || iframe === void 0 ? void 0 : iframe.requestFullscreen;\n if (requestFullScreen) {\n requestFullScreen.bind(iframe)();\n }\n }\n break;\n case PlayerState().PAUSED:\n this.playerLogger.log(`player \"${options.playerId}\" -> paused`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'paused', value: PlayerState().PAUSED };\n break;\n case PlayerState().ENDED:\n this.playerLogger.log(`player \"${options.playerId}\" -> ended`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'ended', value: PlayerState().ENDED };\n break;\n case PlayerState().BUFFERING:\n this.playerLogger.log(`player \"${options.playerId}\" -> buffering`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'buffering', value: PlayerState().BUFFERING };\n break;\n case PlayerState().CUED:\n this.playerLogger.log(`player \"${options.playerId}\" -> cued`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'cued', value: PlayerState().CUED };\n break;\n }\n },\n 'onPlaybackQualityChange': (event) => {\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerPlaybackQualityChange quality ${event.data}`);\n this.playersEventsState.get(options.playerId).events.onPlaybackQualityChange = { text: 'onPlaybackQualityChange', value: event.data };\n },\n 'onError': (error) => {\n this.playerLogger.error(`player \"${options.playerId}\" -> onPlayerError`, { error: error });\n this.playersEventsState.get(options.playerId).events.onError = { text: 'onError', value: error };\n }\n } }));\n });\n }\n async initialize(options) {\n this.playerLogger = new Log(options.debug);\n this.playerLogger.log(\"initialize\");\n if (!this.playerApiLoaded) {\n const result = await this.loadPlayerApi();\n this.playerLogger.log(\"loadPlayerApi result\", { result: result });\n }\n if (this.playerApiLoaded) {\n const playerReady = await this.createPlayer(options);\n this.playerLogger.log(\"loadPlayerApi initialize completed\", { playerReady: playerReady });\n return Promise.resolve(playerReady);\n }\n }\n async destroy(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> destroy`);\n this.players[playerId].destroy();\n return Promise.resolve({ result: { method: 'destroy', value: true } });\n }\n // Methods playback controls and player settings.\n /*********/\n // Stops and cancels loading of the current video. This function should be reserved for rare situations when you know that the user will not be watching\n // additional video in the player. If your intent is to pause the video, you should just call the pauseVideo function. If you want to change the video\n // that the player is playing, you can call one of the queueing functions without calling stopVideo first.\n async stopVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> stopVideo`);\n this.players[playerId].stopVideo();\n return Promise.resolve({ result: { method: 'stopVideo', value: true } });\n }\n // Plays the currently cued/loaded video. The final player state after this function executes will be playing (1).\n async playVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> playVideo`);\n this.players[playerId].playVideo();\n return Promise.resolve({ result: { method: 'playVideo', value: true } });\n }\n // Pauses the currently playing video. The final player state after this function executes will be paused (2) unless the player is in the ended (0) \n // state when the function is called, in which case the player state will not change.\n async pauseVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> pauseVideo`);\n this.players[playerId].pauseVideo();\n return Promise.resolve({ result: { method: 'pauseVideo', value: true } });\n }\n // Seeks to a specified time in the video. If the player is paused when the function is called, it will remain paused. If the function is called from\n // another state (playing, video cued, etc.), the player will play the video.\n async seekTo(playerId, seconds, allowSeekAhead) {\n this.playerLogger.log(`player \"${playerId}\" -> seekTo ${seconds} seconds`);\n this.players[playerId].seekTo(seconds, allowSeekAhead);\n return Promise.resolve({ result: { method: 'seekTo', value: true, seconds: seconds, allowSeekAhead: allowSeekAhead } });\n }\n // Loads and plays the specified video.\n async loadVideoById(playerId, options) {\n this.playerLogger.log(`player \"${playerId}\" -> loadVideoById with options ${options}`);\n this.players[playerId].loadVideoById(options);\n return Promise.resolve({ result: { method: 'loadVideoById', value: true, options: options } });\n }\n // Loads the specified video's thumbnail and prepares the player to play the video. The player does not request the FLV until playVideo() or seekTo() is called.\n async cueVideoById(playerId, options) {\n this.playerLogger.log(`player \"${playerId}\" -> cueVideoById with options ${options}`);\n this.players[playerId].cueVideoById(options);\n return Promise.resolve({ result: { method: 'cueVideoById', value: true, options: options } });\n }\n /*********/\n // Methods changing the player volume.\n /*********/\n // Mutes the player.\n async mute(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> mute`);\n this.players[playerId].mute();\n return Promise.resolve({ result: { method: 'mute', value: true } });\n }\n // Unmutes the player.\n async unMute(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> unMute`);\n this.players[playerId].unMute();\n return Promise.resolve({ result: { method: 'unMute', value: true } });\n }\n // Returns true if the player is muted, false if not.\n async isMuted(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> isMuted`);\n return Promise.resolve({ result: { method: 'isMuted', value: this.players[playerId].isMuted() } });\n }\n // Sets the volume. Accepts an integer between 0 and 100.\n async setVolume(playerId, volume) {\n this.playerLogger.log(`player \"${playerId}\" -> setVolume ${volume}`);\n this.players[playerId].setVolume(volume);\n return Promise.resolve({ result: { method: 'setVolume', value: volume } });\n }\n // Returns the player's current volume, an integer between 0 and 100. Note that getVolume() will return the volume even if the player is muted.\n async getVolume(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getVolume`);\n return Promise.resolve({ result: { method: 'getVolume', value: this.players[playerId].getVolume() } });\n }\n /*********/\n // Methods setting the player size.\n /*********/\n // Sets the size in pixels of the <iframe> that contains the player.\n async setSize(playerId, width, height) {\n this.playerLogger.log(`player \"${playerId}\" -> setSize width: ${width} height: ${height}`);\n this.players[playerId].setSize(width, height);\n return Promise.resolve({ result: { method: 'setSize', value: { width: width, height: height } } });\n }\n /*********/\n // Methods playback status.\n /*********/\n // Returns a number between 0 and 1 that specifies the percentage of the video that the player shows as buffered.\n // This method returns a more reliable number than the now-deprecated getVideoBytesLoaded and getVideoBytesTotal methods.\n async getVideoLoadedFraction(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getVideoLoadedFraction`);\n return Promise.resolve({ result: { method: 'getVideoLoadedFraction', value: this.players[playerId].getVideoLoadedFraction() } });\n }\n // Returns the state of the player. Possible values are:\n // -1 – unstarted\n // 0 – ended\n // 1 – playing\n // 2 – paused\n // 3 – buffering\n // 5 – video cued\n async getPlayerState(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getPlayerState`);\n return Promise.resolve({ result: { method: 'getPlayerState', value: this.players[playerId].getPlayerState() } });\n }\n async getAllPlayersEventsState() {\n this.playerLogger.log(\"getAllPlayersEventsState\");\n return Promise.resolve({ result: { method: 'getAllPlayersEventsState', value: this.playersEventsState } });\n }\n // Returns the elapsed time in seconds since the video started playing.\n async getCurrentTime(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getCurrentTime`);\n return Promise.resolve({ result: { method: 'getCurrentTime', value: this.players[playerId].getCurrentTime() } });\n }\n async toggleFullScreen(playerId, isFullScreen) {\n this.playerLogger.log(`player \"${playerId}\" -> toggleFullScreen`);\n let { height, width } = this.defaultSizes;\n if (!isFullScreen) {\n height = window.innerHeight;\n width = window.innerWidth;\n }\n this.players[playerId].setSize(width, height);\n return Promise.resolve({ result: { method: 'toggleFullScreen', value: isFullScreen } });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"} | ||
| {"version":3,"file":"plugin.js","sources":["esm/index.js","esm/log.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst YoutubePlayer = registerPlugin('YoutubePlayer', {\n web: () => import('./web').then(m => new m.YoutubePlayerPluginWeb()),\n});\nexport * from './definitions';\nexport { YoutubePlayer };\n//# sourceMappingURL=index.js.map","export class Log {\n constructor(logEnabled = false) {\n this.logEnabled = false;\n this.logEnabled = logEnabled;\n }\n log(msg, ...suportingDetails) {\n this.emitLogMessage(\"log\", msg, suportingDetails);\n }\n debug(msg, ...suportingDetails) {\n this.emitLogMessage(\"debug\", msg, suportingDetails);\n }\n warn(msg, ...suportingDetails) {\n this.emitLogMessage(\"warn\", msg, suportingDetails);\n }\n error(msg, ...suportingDetails) {\n this.emitLogMessage(\"error\", msg, suportingDetails);\n }\n info(msg, ...suportingDetails) {\n this.emitLogMessage(\"info\", msg, suportingDetails);\n }\n emitLogMessage(msgType, msg, suportingDetails) {\n if (this.logEnabled) {\n suportingDetails.length > 0 ? console[msgType](\"[Youtube Player Plugin Web]: \" + msg, suportingDetails)\n : console[msgType](\"[Youtube Player Plugin Web]: \" + msg);\n }\n }\n}\n//# sourceMappingURL=log.js.map","import { WebPlugin } from '@capacitor/core';\nimport { Log } from './log';\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function YT() {\n return window['YT'];\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Player() {\n return YT().Player;\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function PlayerState() {\n return YT().PlayerState;\n}\nexport class YoutubePlayerPluginWeb extends WebPlugin {\n constructor() {\n super({\n name: 'YoutubePlayerPluginWeb',\n platforms: ['web']\n });\n this.players = [];\n this.playersEventsState = new Map();\n this.playerApiLoaded = false;\n this.defaultSizes = {\n height: 270,\n width: 367\n };\n }\n async loadPlayerApi() {\n this.playerLogger.log(\"loadPlayerApi\");\n return await new Promise(resolve => {\n window.onYouTubeIframeAPIReady = () => {\n this.playerLogger.log(\"onYouTubeIframeAPIReady\");\n this.playerApiLoaded = true;\n resolve(true);\n };\n // This code loads the IFrame Player API code asynchronously.\n const tag = document.createElement('script');\n tag.type = 'text/javascript';\n tag.src = \"https://www.youtube.com/iframe_api\";\n const firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n });\n }\n checkSize(options) {\n const playerSize = {\n height: options.playerSize.height || this.defaultSizes.height,\n width: options.playerSize.width || this.defaultSizes.width\n };\n if (playerSize.height > window.innerHeight)\n playerSize.height = window.innerHeight;\n if (playerSize.width > window.innerWidth)\n playerSize.width = window.innerWidth;\n return playerSize;\n }\n // This function creates an <iframe> (and YouTube player)\n // after the API code downloads.\n async createPlayer(options) {\n this.playerLogger.log(\"createPlayer\");\n const playerSize = this.checkSize(options);\n return await new Promise(resolve => {\n const player = Player();\n this.players[options.playerId] = new player(options.playerId, Object.assign(Object.assign({ playerVars: options.playerVars }, playerSize), { fullscreen: options.fullscreen, videoId: options.videoId, events: {\n // The API will call this function when the video player is ready.\n 'onReady': (event) => {\n var _a;\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerReady`);\n const state = { events: { onReady: { text: 'onReady', value: true } } };\n this.playersEventsState.set(options.playerId, state);\n if (((_a = options === null || options === void 0 ? void 0 : options.playerVars) === null || _a === void 0 ? void 0 : _a.autoplay) === 1) {\n event.target.mute();\n event.target.playVideo();\n }\n return resolve({ playerReady: true, player: this.players[options.playerId] });\n },\n 'onStateChange': (event) => {\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerStateChange`);\n switch (event.data) {\n case PlayerState().PLAYING:\n this.playerLogger.log(`player \"${options.playerId}\" -> playing`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'playing', value: PlayerState().PLAYING };\n if (options.fullscreen) {\n const iframe = document.getElementById(options.playerId);\n const requestFullScreen = iframe === null || iframe === void 0 ? void 0 : iframe.requestFullscreen;\n if (requestFullScreen) {\n requestFullScreen.bind(iframe)();\n }\n }\n break;\n case PlayerState().PAUSED:\n this.playerLogger.log(`player \"${options.playerId}\" -> paused`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'paused', value: PlayerState().PAUSED };\n break;\n case PlayerState().ENDED:\n this.playerLogger.log(`player \"${options.playerId}\" -> ended`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'ended', value: PlayerState().ENDED };\n break;\n case PlayerState().BUFFERING:\n this.playerLogger.log(`player \"${options.playerId}\" -> buffering`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'buffering', value: PlayerState().BUFFERING };\n break;\n case PlayerState().CUED:\n this.playerLogger.log(`player \"${options.playerId}\" -> cued`);\n this.playersEventsState.get(options.playerId).events.onStateChange = { text: 'cued', value: PlayerState().CUED };\n break;\n }\n },\n 'onPlaybackQualityChange': (event) => {\n this.playerLogger.log(`player \"${options.playerId}\" -> onPlayerPlaybackQualityChange quality ${event.data}`);\n this.playersEventsState.get(options.playerId).events.onPlaybackQualityChange = { text: 'onPlaybackQualityChange', value: event.data };\n },\n 'onError': (error) => {\n this.playerLogger.error(`player \"${options.playerId}\" -> onPlayerError`, { error: error });\n this.playersEventsState.get(options.playerId).events.onError = { text: 'onError', value: error };\n }\n } }));\n });\n }\n async initialize(options) {\n this.playerLogger = new Log(options.debug);\n this.playerLogger.log(\"initialize\");\n if (!this.playerApiLoaded) {\n const result = await this.loadPlayerApi();\n this.playerLogger.log(\"loadPlayerApi result\", { result: result });\n }\n if (this.playerApiLoaded) {\n const playerReady = await this.createPlayer(options);\n this.playerLogger.log(\"loadPlayerApi initialize completed\", { playerReady: playerReady });\n return Promise.resolve(playerReady);\n }\n }\n async destroy(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> destroy`);\n this.players[playerId].destroy();\n return Promise.resolve({ result: { method: 'destroy', value: true } });\n }\n // Methods playback controls and player settings.\n /*********/\n // Stops and cancels loading of the current video. This function should be reserved for rare situations when you know that the user will not be watching\n // additional video in the player. If your intent is to pause the video, you should just call the pauseVideo function. If you want to change the video\n // that the player is playing, you can call one of the queueing functions without calling stopVideo first.\n async stopVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> stopVideo`);\n this.players[playerId].stopVideo();\n return Promise.resolve({ result: { method: 'stopVideo', value: true } });\n }\n // Plays the currently cued/loaded video. The final player state after this function executes will be playing (1).\n async playVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> playVideo`);\n this.players[playerId].playVideo();\n return Promise.resolve({ result: { method: 'playVideo', value: true } });\n }\n // Pauses the currently playing video. The final player state after this function executes will be paused (2) unless the player is in the ended (0) \n // state when the function is called, in which case the player state will not change.\n async pauseVideo(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> pauseVideo`);\n this.players[playerId].pauseVideo();\n return Promise.resolve({ result: { method: 'pauseVideo', value: true } });\n }\n // Seeks to a specified time in the video. If the player is paused when the function is called, it will remain paused. If the function is called from\n // another state (playing, video cued, etc.), the player will play the video.\n async seekTo(playerId, seconds, allowSeekAhead) {\n this.playerLogger.log(`player \"${playerId}\" -> seekTo ${seconds} seconds`);\n this.players[playerId].seekTo(seconds, allowSeekAhead);\n return Promise.resolve({ result: { method: 'seekTo', value: true, seconds: seconds, allowSeekAhead: allowSeekAhead } });\n }\n // Loads and plays the specified video.\n async loadVideoById(playerId, options) {\n this.playerLogger.log(`player \"${playerId}\" -> loadVideoById with options ${options}`);\n this.players[playerId].loadVideoById(options);\n return Promise.resolve({ result: { method: 'loadVideoById', value: true, options: options } });\n }\n // Loads the specified video's thumbnail and prepares the player to play the video. The player does not request the FLV until playVideo() or seekTo() is called.\n async cueVideoById(playerId, options) {\n this.playerLogger.log(`player \"${playerId}\" -> cueVideoById with options ${options}`);\n this.players[playerId].cueVideoById(options);\n return Promise.resolve({ result: { method: 'cueVideoById', value: true, options: options } });\n }\n /*********/\n // Methods for playing playlist.\n /*********/\n async cuePlaylist(playerId, playlistOptions) {\n this.playerLogger.log(`player \"${playerId}\" -> cuePlaylist with options ${JSON.stringify(playlistOptions)}`);\n this.players[playerId].cuePlaylist(playlistOptions);\n return Promise.resolve({ result: { method: 'cuePlaylist', value: true } });\n }\n async loadPlaylist(playerId, playlistOptions) {\n this.playerLogger.log(`player \"${playerId}\" -> loadPlaylist with options ${playlistOptions}`);\n this.players[playerId].loadPlaylist(playlistOptions);\n return Promise.resolve({ result: { method: 'loadPlaylist', value: true } });\n }\n /*********/\n // Methods changing the player volume.\n /*********/\n // Mutes the player.\n async mute(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> mute`);\n this.players[playerId].mute();\n return Promise.resolve({ result: { method: 'mute', value: true } });\n }\n // Unmutes the player.\n async unMute(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> unMute`);\n this.players[playerId].unMute();\n return Promise.resolve({ result: { method: 'unMute', value: true } });\n }\n // Returns true if the player is muted, false if not.\n async isMuted(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> isMuted`);\n return Promise.resolve({ result: { method: 'isMuted', value: this.players[playerId].isMuted() } });\n }\n // Sets the volume. Accepts an integer between 0 and 100.\n async setVolume(playerId, volume) {\n this.playerLogger.log(`player \"${playerId}\" -> setVolume ${volume}`);\n this.players[playerId].setVolume(volume);\n return Promise.resolve({ result: { method: 'setVolume', value: volume } });\n }\n // Returns the player's current volume, an integer between 0 and 100. Note that getVolume() will return the volume even if the player is muted.\n async getVolume(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getVolume`);\n return Promise.resolve({ result: { method: 'getVolume', value: this.players[playerId].getVolume() } });\n }\n /*********/\n // Methods setting the player size.\n /*********/\n // Sets the size in pixels of the <iframe> that contains the player.\n async setSize(playerId, width, height) {\n this.playerLogger.log(`player \"${playerId}\" -> setSize width: ${width} height: ${height}`);\n this.players[playerId].setSize(width, height);\n return Promise.resolve({ result: { method: 'setSize', value: { width: width, height: height } } });\n }\n /*********/\n // Methods playback status.\n /*********/\n // Returns a number between 0 and 1 that specifies the percentage of the video that the player shows as buffered.\n // This method returns a more reliable number than the now-deprecated getVideoBytesLoaded and getVideoBytesTotal methods.\n async getVideoLoadedFraction(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getVideoLoadedFraction`);\n return Promise.resolve({ result: { method: 'getVideoLoadedFraction', value: this.players[playerId].getVideoLoadedFraction() } });\n }\n // Returns the state of the player. Possible values are:\n // -1 – unstarted\n // 0 – ended\n // 1 – playing\n // 2 – paused\n // 3 – buffering\n // 5 – video cued\n async getPlayerState(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getPlayerState`);\n return Promise.resolve({ result: { method: 'getPlayerState', value: this.players[playerId].getPlayerState() } });\n }\n async getAllPlayersEventsState() {\n this.playerLogger.log(\"getAllPlayersEventsState\");\n return Promise.resolve({ result: { method: 'getAllPlayersEventsState', value: this.playersEventsState } });\n }\n // Returns the elapsed time in seconds since the video started playing.\n async getCurrentTime(playerId) {\n this.playerLogger.log(`player \"${playerId}\" -> getCurrentTime`);\n return Promise.resolve({ result: { method: 'getCurrentTime', value: this.players[playerId].getCurrentTime() } });\n }\n async toggleFullScreen(playerId, isFullScreen) {\n this.playerLogger.log(`player \"${playerId}\" -> toggleFullScreen`);\n let { height, width } = this.defaultSizes;\n if (!isFullScreen) {\n height = window.innerHeight;\n width = window.innerWidth;\n }\n this.players[playerId].setSize(width, height);\n return Promise.resolve({ result: { method: 'toggleFullScreen', value: isFullScreen } });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"} |
+8
-8
| { | ||
| "name": "capacitor-youtube-player", | ||
| "version": "1.0.8", | ||
| "version": "1.0.9", | ||
| "description": "Capacitor Youtube Player", | ||
@@ -29,6 +29,6 @@ "main": "dist/plugin.cjs.js", | ||
| "devDependencies": { | ||
| "@capacitor/android": "^3.3.1", | ||
| "@capacitor/core": "^3.3.1", | ||
| "@capacitor/android": "^3.3.2", | ||
| "@capacitor/core": "^3.3.2", | ||
| "@capacitor/docgen": "0.0.18", | ||
| "@capacitor/ios": "^3.3.1", | ||
| "@capacitor/ios": "^3.3.2", | ||
| "@ionic/eslint-config": "^0.3.0", | ||
@@ -38,11 +38,11 @@ "@ionic/prettier-config": "^2.0.0", | ||
| "eslint": "^7.32.0", | ||
| "prettier": "^2.4.1", | ||
| "prettier": "^2.5.0", | ||
| "prettier-plugin-java": "^1.6.0", | ||
| "rimraf": "^3.0.2", | ||
| "rollup": "^2.60.0", | ||
| "rollup": "^2.60.2", | ||
| "swiftlint": "^1.0.1", | ||
| "typescript": "^4.3.5" | ||
| "typescript": "^4.5.2" | ||
| }, | ||
| "peerDependencies": { | ||
| "@capacitor/core": "^3.0.0" | ||
| "@capacitor/core": "^3.3.2" | ||
| }, | ||
@@ -49,0 +49,0 @@ "prettier": "@ionic/prettier-config", |
+2
-0
@@ -27,2 +27,4 @@  | ||
|  | ||
|  | ||
@@ -29,0 +31,0 @@ |
289925
2.37%1565
5.03%300
0.67%