### Table of Contents - [KPAdObject][1] - [Properties][2] - [KPAdPod][3] - [KPAdBreakObject][4] - [Properties][5] - [KPAdvertisingConfigObject][6] - [Properties][7] - [KalturaPlayers][8] - [HEVCConfigObject][9] - [Properties][10] - [HEVCSupportedObject][11] - [Properties][12] - [DRMSupportedObject][13] - [Properties][14] - [MediaCapabilitiesObject][15] - [SupportedOptionsType][16] - [KPMediaConfig][17] - [Properties][18] - [KPPlaylistOptions][19] - [Properties][20] - [KPPlaylistCountdownOptions][21] - [Properties][22] - [KPPlaylistConfigObject][23] - [Properties][24] - [KPPlaylistObject][25] - [Properties][26] - [KPPlaylistItemConfigObject][27] - [Properties][28] - [KPPluginsConfigObject][29] - [AdBreak][30] - [Parameters][31] - [type][32] - [position][33] - [numAds][34] - [Ad][35] - [Parameters][36] - [id][37] - [system][38] - [contentType][39] - [url][40] - [title][41] - [position][42] - [duration][43] - [clickThroughUrl][44] - [posterUrl][45] - [skipOffset][46] - [linear][47] - [width][48] - [height][49] - [bitrate][50] - [bumper][51] - [inStream][52] - [skippable][53] - [vpaid][54] - [streamId][55] - [wrapperAdIds][56] - [wrapperCreativeIds][57] - [wrapperAdSystems][58] - [PrebidManager][59] - [Parameters][60] - [load][61] - [Parameters][62] - [BaseRemotePlayer][63] - [Parameters][64] - [loadMedia][65] - [Parameters][66] - [setMedia][67] - [Parameters][68] - [getMediaInfo][69] - [getMediaConfig][70] - [configure][71] - [Parameters][72] - [ready][73] - [load][74] - [play][75] - [pause][76] - [reset][77] - [destroy][78] - [isLive][79] - [Examples][80] - [isDvr][81] - [Examples][82] - [seekToLiveEdge][83] - [getStartTimeOfDvrWindow][84] - [Examples][85] - [getTracks][86] - [Parameters][87] - [Examples][88] - [getActiveTracks][89] - [Examples][90] - [selectTrack][91] - [Parameters][92] - [hideTextTrack][93] - [enableAdaptiveBitrate][94] - [isAdaptiveBitrateEnabled][95] - [Examples][96] - [setTextDisplaySettings][97] - [Parameters][98] - [startCasting][99] - [stopCasting][100] - [isCasting][101] - [Examples][102] - [isCastAvailable][103] - [Examples][104] - [getCastSession][105] - [Examples][106] - [isVr][107] - [Examples][108] - [toggleVrStereoMode][109] - [isInVrStereoMode][110] - [Examples][111] - [ads][112] - [Examples][113] - [textStyle][114] - [Parameters][115] - [textStyle][116] - [Examples][117] - [buffered][118] - [Examples][119] - [currentTime][120] - [Parameters][121] - [currentTime][122] - [Examples][123] - [duration][124] - [Examples][125] - [liveDuration][126] - [Examples][127] - [volume][128] - [Parameters][129] - [volume][130] - [Examples][131] - [paused][132] - [Examples][133] - [ended][134] - [Examples][135] - [seeking][136] - [Examples][137] - [muted][138] - [Parameters][139] - [muted][140] - [Examples][141] - [src][142] - [Examples][143] - [poster][144] - [Examples][145] - [playbackRate][146] - [Parameters][147] - [playbackRate][148] - [Examples][149] - [engineType][150] - [Examples][151] - [streamType][152] - [Examples][153] - [type][154] - [Examples][155] - [config][156] - [defaultConfig][157] - [Examples][158] - [Type][159] - [Examples][160] - [isSupported][161] - [Examples][162] - [CastEventType][163] - [Examples][164] - [CAST_SESSION_START_FAILED][165] - [CAST_SESSION_STARTING][166] - [CAST_SESSION_STARTED][167] - [CAST_SESSION_ENDING][168] - [CAST_SESSION_ENDED][169] - [CAST_AVAILABLE][170] - [PlayerSnapshot][171] - [Parameters][172] - [textStyle][173] - [advertising][174] - [config][175] - [RemoteControl][176] - [Parameters][177] - [getPlayerSnapshot][178] - [getUIWrapper][179] - [onRemoteDeviceDisconnected][180] - [Parameters][181] - [onRemoteDeviceConnected][182] - [Parameters][183] - [onRemoteDeviceAvailable][184] - [Parameters][185] - [onRemoteDeviceConnecting][186] - [onRemoteDeviceDisconnecting][187] - [onRemoteDeviceConnectFailed][188] - [RemotePayload][189] - [Parameters][190] - [player][191] - [RemoteConnectedPayload][192] - [Parameters][193] - [ui][194] - [session][195] - [RemoteDisconnectedPayload][196] - [Parameters][197] - [snapshot][198] - [RemoteAvailablePayload][199] - [Parameters][200] - [available][201] - [RemotePlayerUI][202] - [playbackUI][203] - [Parameters][204] - [idleUI][205] - [Parameters][206] - [adsUI][207] - [Parameters][208] - [liveUI][209] - [Parameters][210] - [errorUI][211] - [Parameters][212] - [uis][213] - [IRemotePlayer][214] - [textStyle][215] - [muted][216] - [playbackRate][217] - [volume][218] - [currentTime][219] - [buffered][220] - [duration][221] - [liveDuration][222] - [paused][223] - [ended][224] - [seeking][225] - [src][226] - [poster][227] - [engineType][228] - [streamType][229] - [type][230] - [ads][231] - [config][232] - [addEventListener][233] - [Parameters][234] - [removeEventListener][235] - [Parameters][236] - [dispatchEvent][237] - [Parameters][238] - [loadMedia][239] - [Parameters][240] - [setMedia][241] - [Parameters][242] - [getMediaInfo][243] - [getMediaConfig][244] - [configure][245] - [Parameters][246] - [ready][247] - [load][248] - [play][249] - [pause][250] - [reset][251] - [destroy][252] - [isLive][253] - [isDvr][254] - [seekToLiveEdge][255] - [getStartTimeOfDvrWindow][256] - [getTracks][257] - [Parameters][258] - [getActiveTracks][259] - [selectTrack][260] - [Parameters][261] - [hideTextTrack][262] - [enableAdaptiveBitrate][263] - [isAdaptiveBitrateEnabled][264] - [setTextDisplaySettings][265] - [Parameters][266] - [startCasting][267] - [stopCasting][268] - [isCasting][269] - [isCastAvailable][270] - [getCastSession][271] - [isVr][272] - [toggleVrStereoMode][273] - [isInVrStereoMode][274] - [RemoteSession][275] - [Parameters][276] - [deviceFriendlyName][277] - [id][278] - [resuming][279] - [AdsController][280] - [Parameters][281] - [allAdsCompleted][282] - [isAdPlaying][283] - [isAdBreak][284] - [getAdBreaksLayout][285] - [getAdBreak][286] - [getAd][287] - [skipAd][288] - [playAdNow][289] - [Parameters][290] - [ControllerProvider][291] - [Parameters][292] - [getAdsControllers][293] - [PlaylistEventType][294] - [Examples][295] - [PLAYLIST_LOADED][296] - [PLAYLIST_ITEM_CHANGED][297] - [PLAYLIST_ENDED][298] - [PlaylistItem][299] - [Parameters][300] - [updateSources][301] - [Parameters][302] - [updatePlugins][303] - [Parameters][304] - [sources][305] - [config][306] - [plugins][307] - [index][308] - [isPlayable][309] - [PlaylistManager][310] - [Parameters][311] - [configure][312] - [Parameters][313] - [load][314] - [Parameters][315] - [reset][316] - [playNext][317] - [playPrev][318] - [playItem][319] - [Parameters][320] - [items][321] - [current][322] - [next][323] - [prev][324] - [id][325] - [metadata][326] - [poster][327] - [countdown][328] - [options][329] - [BasePlugin][330] - [Parameters][331] - [config][332] - [name][333] - [player][334] - [player][335] - [eventManager][336] - [getConfig][337] - [Parameters][338] - [ready][339] - [updateConfig][340] - [Parameters][341] - [loadMedia][342] - [destroy][343] - [reset][344] - [getName][345] - [dispatchEvent][346] - [Parameters][347] - [defaultConfig][348] - [createPlugin][349] - [Parameters][350] - [isValid][351] - [PluginManager][352] - [load][353] - [Parameters][354] - [loadMedia][355] - [destroy][356] - [reset][357] - [get][358] - [Parameters][359] - [getAll][360] - [register][361] - [Parameters][362] - [unRegister][363] - [Parameters][364] - [registerPlugin][365] - [load][366] - [Parameters][367] - [play][368] - [Parameters][369] - [constructor][370] - [get][371] - [set][372] - [Parameters][373] - [reset][374] - [constructor][375] - [evaluatePluginsConfig][376] - [Parameters][377] - [ServiceProvider][378] - [register][379] - [Parameters][380] - [get][381] - [Parameters][382] - [has][383] - [Parameters][384] - [reset][385] - [destroy][386] - [getRedirectExternalStreamsHandler][387] - [Parameters][388] - [SupportedOptions][389] - [getMediaCapabilities][390] - [Parameters][391] - [getMediaCapabilities][392] - [Parameters][393] - [maybeSetStreamPriority][394] - [Parameters][395] - [hasYoutubeSource][396] - [Parameters][397] - [hasImageSource][398] - [Parameters][399] - [mergeProviderPluginsConfig][400] - [Parameters][401] - [ViewabilityManager][402] - [Parameters][403] - [observe][404] - [Parameters][405] - [unObserve][406] - [Parameters][407] - [destroy][408] - [loadMedia][409] - [Parameters][410] - [Examples][411] - [setMedia][412] - [Parameters][413] - [loadPlaylist][414] - [Parameters][415] - [Examples][416] - [loadPlaylistByEntryList][417] - [Parameters][418] - [Examples][419] - [getDrmInfo][420] - [setSourcesMetadata][421] - [Parameters][422] - [Examples][423] - [configure][424] - [Parameters][425] - [Examples][426] - [isLive][427] - [Examples][428] - [isDvr][429] - [Examples][430] - [isFullscreen][431] - [Examples][432] - [enterFullscreen][433] - [Parameters][434] - [Examples][435] - [exitFullscreen][436] - [Examples][437] - [enterPictureInPicture][438] - [Examples][439] - [exitPictureInPicture][440] - [Examples][441] - [isInPictureInPicture][442] - [Examples][443] - [isPictureInPictureSupported][444] - [Examples][445] - [normalizedCurrentTime][446] - [Parameters][447] - [normalizedCurrentTime][448] - [normalizedDuration][449] - [playlist][450] - [Examples][451] - [crossOrigin][452] - [Parameters][453] - [crossOrigin][454] - [isVisible][455] - [viewabilityManager][456] - [getService][457] - [Parameters][458] - [hasService][459] - [Parameters][460] - [registerService][461] - [Parameters][462] - [addTextTrack][463] - [Parameters][464] - [getNativeTextTracks][465] - [getDefaultRedirectOptions][466] - [Parameters][467] - [getDefaultRedirectOptions][468] - [Parameters][469] - [getPlayers][470] - [getPlayer][471] - [Parameters][472] ## KPAdObject Type: [Object][473] ### Properties - `url` **[Array][474]<[string][475]>** List of urls, each one specifies the ad tag url that is requested from the ad server. The player will request the first url, if failed, it will request the second url and so on (aka waterfalling). - `response` **[Array][474]<[string][475]>** List of XMLs, each one specifies a VAST 2.0 document to be used as the ads response instead of making a request via an ad tag url. The player will use the first XML, if failed, it will use the second and so on (aka waterfalling). - `bumper` **[boolean][476]** Specifies whether this is a bumper. - `prebid` **KPAdPrebidConfig** Specifies whether this is a prebid ad and add the relevant config for prebid request. ## KPAdPod Type: [Array][474]<[KPAdObject][477]> ## KPAdBreakObject Type: [Object][473] ### Properties - `position` **[number][478]** The position, in seconds, to show the ad break. - `percentage` **[number][478]** Alternative parameter to `position`. The position, in percentage of the media length, to show the ad break (optional). - `every` **[number][478]** Alternative parameter to `position`. Play ad break every X seconds (optional). - `ads` **[KPAdPod][479]** An array of ads to play (Ad pod). ## KPAdvertisingConfigObject Type: [Object][473] ### Properties - `prebid` **KPPrebidConfig** The prebid config. - `adBreaks` **[Array][474]<[KPAdBreakObject][480]>** The ad breaks scheme. - `playAdsAfterTime` **[number][478]?** Only play ad breaks scheduled after this time (in seconds). This setting is strictly after - e.g. setting playAdsAfterTime to 15 will cause the player to ignore an ad break scheduled to play at 15s. - `showAdBreakCuePoint` **[boolean][476]?** Whether to show the ad breaks cue points. - `adBreakCuePointStyle` **[Object][473]?** Style options for the ad breaks cue points - See the options [Here][481]. ## KalturaPlayers a map of player instances by player ids Type: [Object][473]<[string][475], KalturaPlayer> ## HEVCConfigObject Type: [Object][473] ### Properties - `width` **[number][478]** Optional width of the video - `height` **[number][478]** Optional height of the video - `bitrate` **[number][478]** Optional number of bits used to encode a second of video - `framerate` **[number][478]** Optional number of frames used in one second ## HEVCSupportedObject Type: [Object][473] ### Properties - `isHEVCSupported` **[number][478]** Specifies HEVC supported option by the browser - `isPowerEfficient` **[number][478]** Specifies power efficiency supported option ## DRMSupportedObject Type: [Object][473] ### Properties - `isDRMSupported` **[number][478]** Specifies DRM supported option by the browser - `supportedDRMs` **[Array][474]<[string][475]>** List of supported DRMs (optional values: widevine, playready, fairplay) ## MediaCapabilitiesObject Type: [Object][473] ## SupportedOptionsType Type: [Object][473]<[string][475], [number][478]> ## KPMediaConfig Type: [Object][473] ### Properties - `sources` **ProviderMediaConfigSourcesObject** - `session` **ProviderMediaConfigSessionObject** ## KPPlaylistOptions Type: [Object][473] ### Properties - `autoContinue` **[boolean][476]?** Determines whether to continue to the next item automatically. - `loop` **[boolean][476]?** Determines whether to play the playlist in a loop. When selected, the playlist will play automatically even if autoContinue is set to false. ## KPPlaylistCountdownOptions Type: [Object][473] ### Properties - `timeToShow` **[number][478]?** Shows when the countdown is scheduled to appear (by default, this is towards the end). - `duration` **[number][478]?** Shows for how long the countdown will appear. - `showing` **[boolean][476]?** Determines whether to show the countdown. ## KPPlaylistConfigObject Type: [Object][473] ### Properties - `options` **[KPPlaylistOptions][482]** Sets the playlist options. - `countdown` **[KPPlaylistCountdownOptions][483]** Configures the playlist countdown. - `items` **[Array][474]<[PlaylistItem][484]>** Lists the available playlist items. ## KPPlaylistObject Type: [Object][473] ### Properties - `id` **[string][475]** This is playlist's ID. - `metadata` **ProviderPlaylistMetadataObject** This is the playlist metadata. - `options` **[KPPlaylistOptions][482]** These are the playlist options. - `countdown` **[KPPlaylistCountdownOptions][483]** This is the playlist countdown configuration. - `items` **[Array][474]<[PlaylistItem][484]>** These are the playlist items. ## KPPlaylistItemConfigObject Type: [Object][473] ### Properties - `countdown` **[KPPlaylistCountdownOptions][483]?** Countdown options ## KPPluginsConfigObject Type: [Object][473] ## AdBreak ### Parameters - `options` **PKAdBreakOptions** Ad break data options. ### type Type: [string][475]? Returns **[string][475]** Ad break type - pre/mid/post. ### position Type: [number][478]? Returns **[string][475]** Ad break position on the playback timeline. ### numAds Type: [number][478]? Returns **[string][475]** The number of ads inside the ad break. ## Ad ### Parameters - `id` **[string][475]** Ad ID. - `options` **PKAdOptions** Ad data options. ### id Type: [string][475] Returns **[string][475]** Ad ID. ### system Type: [string][475]? Returns **[string][475]?** Ad system. ### contentType Type: [string][475]? Returns **[string][475]** Ad content type. ### url Type: [string][475]? Returns **[string][475]** Ad URL. ### title Type: [string][475]? Returns **[string][475]** Ad title. ### position Type: [number][478]? Returns **[string][475]** Ad position inside the ad break. ### duration Type: [number][478]? Returns **[string][475]** Ad duration. ### clickThroughUrl Type: [string][475]? Returns **[string][475]** Ad click through URL. ### posterUrl Type: [string][475]? Returns **[string][475]** Ad poster URL. ### skipOffset Type: [number][478]? Returns **[string][475]** Ad skip offset. ### linear Type: [boolean][476] Returns **[boolean][476]** Whether the ad is linear. ### width Type: [number][478] Returns **[string][475]** Ad width. ### height Type: [number][478] Returns **[string][475]** Ad height. ### bitrate Type: [number][478] Returns **[string][475]** Ad bitrate. ### bumper Type: [boolean][476] Returns **[boolean][476]** Whether the ad is bumper. ### inStream Type: [boolean][476] Returns **[boolean][476]** Whether the ad is imadai. ### skippable Type: [boolean][476] Returns **[string][475]** Whether the ad is skippable or not. ### vpaid Type: [boolean][476] Returns **[boolean][476]** Whether the ad is vpaid or not. ### streamId Type: [string][475] Returns **[string][475]** The ad streamId. ### wrapperAdIds Type: [Array][474]<[string][475]> Returns **[string][475]** The ad wrapperAdIds. ### wrapperCreativeIds Type: [Array][474]<[string][475]> Returns **[string][475]** The ad wrapperCreativeIds. ### wrapperAdSystems Type: [Array][474]<[string][475]> Returns **[string][475]** The ad wrapperAdSystems. ## PrebidManager Manager for prebid lib. ### Parameters - `context` **[PrebidManager][485]** The prebid lib context. ### load load the prebid #### Parameters - `config` **KPAdPrebidConfig** The prebid config. Returns **void** ## BaseRemotePlayer **Extends FakeEventTarget** Basic remote player. Implements the Kaltura Player playback, ads, tracks,vr and cast APIs. Remote players should extend this class and implement the needed API. ### Parameters - `name` **[string][475]** Remote player name. - `config` **[Object][473]** Cast configuration. - `remoteControl` **[RemoteControl][486]** Remote control. ### loadMedia Loads a media to the receiver application. #### Parameters - `mediaInfo` **[Object][473]** The entry media info. Returns **[Promise][487]\** Promise to indicate load succeed or failed. ### setMedia Sets a media to the remote player.. #### Parameters - `mediaConfig` **[Object][473]** Media configuration to set. Returns **void** ### getMediaInfo Gets the media Info. Returns **[Object][473]?** The media info. ### getMediaConfig Gets the media config. Returns **[Object][473]?** The media config. ### configure Configure the remote player #### Parameters - `config` **[Object][473]** Configuration to set. (optional, default `{}`) Returns **void** ### ready The remote player readiness. Returns **[Promise][487]\** Promise which resolved when the remote player is ready. ### load Load the remote player. Returns **void** ### play Play/resume the remote player. Returns **void** ### pause Pause the remote player. Returns **void** ### reset Reset the remote player. Returns **void** ### destroy Destroy the remote player. Returns **void** ### isLive #### Examples ```javascript BaseRemotePlayer.prototype.isLive(); // false ``` Returns **[boolean][476]** Whether the current playback is a live playback. ### isDvr #### Examples ```javascript BaseRemotePlayer.prototype.isDvr(); // false ``` Returns **[boolean][476]** Whether the current live playback has DVR window. In case of non-live playback will return false. ### seekToLiveEdge Seeks to the live edge. Returns **void** ### getStartTimeOfDvrWindow #### Examples ```javascript BaseRemotePlayer.prototype.getStartTimeOfDvrWindow(); // 0 ``` Returns **[number][478]** The start time of the DVR window. ### getTracks #### Parameters - `type` **[string][475]?** Track type. #### Examples ```javascript BaseRemotePlayer.prototype.getTracks(); // [] ``` Returns **[Array][474]\** The remote player tracks. ### getActiveTracks #### Examples ```javascript BaseRemotePlayer.prototype.getTracks(); // {audio: undefined, video: undefined, text: undefined} ``` Returns **[Object][473]** The remote player active tracks. ### selectTrack Select a certain track to be active. #### Parameters - `track` **Track** The track to activate. Returns **void** ### hideTextTrack Hides the active text track. Returns **void** ### enableAdaptiveBitrate Enables automatic adaptive bitrate switching. Returns **void** ### isAdaptiveBitrateEnabled #### Examples ```javascript BaseRemotePlayer.prototype.isAdaptiveBitrateEnabled(); // true ``` Returns **[boolean][476]** Whether adaptive bitrate is enabled. ### setTextDisplaySettings Sets the text display settings. #### Parameters - `settings` **[Object][473]** Text settings. Returns **void** ### startCasting Start casting. Returns **[Promise][487]\** A promise to indicate session is starting, or failed ### stopCasting Stops the current cast session. Returns **void** ### isCasting #### Examples ```javascript BaseRemotePlayer.prototype.isCasting(); // true ``` Returns **[boolean][476]** Whether casting is currently active. ### isCastAvailable #### Examples ```javascript BaseRemotePlayer.prototype.isCastAvailable(); // true ``` Returns **[boolean][476]** Whether casting is available. ### getCastSession Gets the current remote session. #### Examples ```javascript BaseRemotePlayer.prototype.getCastSession(); // new RemoteSession('', '') ``` Returns **[RemoteSession][488]** The remote session. ### isVr #### Examples ```javascript BaseRemotePlayer.prototype.isVr(); // false ``` Returns **[boolean][476]** Whether the current media is of VR type (360 content). ### toggleVrStereoMode Toggles VR mode on the current content. Returns **void** ### isInVrStereoMode #### Examples ```javascript BaseRemotePlayer.prototype.isInVrStereoMode(); // false ``` Returns **[boolean][476]** Whether the current content displayed in VR mode. ### ads The remote player ads controller. Type: [Object][473]? #### Examples ```javascript BaseRemotePlayer.prototype.ads; // null ``` Returns **[Object][473]?** ### textStyle Setter. Type: TextStyle #### Parameters - `style` **TextStyle** The text style to set. Returns **void** ### textStyle Getter. Type: TextStyle #### Examples ```javascript BaseRemotePlayer.prototype.textStyle; // new TextStyle() ``` Returns **TextStyle** The current text style. ### buffered Gets the first buffered range of the remote player. Type: [Array][474]\ #### Examples ```javascript BaseRemotePlayer.prototype.buffered; // [] ``` Returns **[Array][474]\** First buffered range in seconds. ### currentTime Setter. Type: [number][478] #### Parameters - `to` **[number][478]** The number to set in seconds. Returns **void** ### currentTime Getter. Type: [number][478] #### Examples ```javascript BaseRemotePlayer.prototype.currentTime; // 0 ``` Returns **[number][478]** The current time in seconds. ### duration Type: [number][478] #### Examples ```javascript BaseRemotePlayer.prototype.duration; // 0 ``` Returns **[number][478]** The duration in seconds. ### liveDuration Type: [number][478] #### Examples ```javascript BaseRemotePlayer.prototype.liveDuration; // NaN ``` Returns **[number][478]** The live duration in seconds. ### volume Setter. Type: [number][478] #### Parameters - `vol` **[number][478]** The volume to set in the range of 0-1. Returns **void** ### volume Getter. Type: [number][478] #### Examples ```javascript BaseRemotePlayer.prototype.volume; // 1 ``` Returns **[number][478]** The current volume in the range of 0-1. ### paused Type: [boolean][476] #### Examples ```javascript BaseRemotePlayer.prototype.paused; // false ``` Returns **[boolean][476]** Whether the cast player is in paused state. ### ended Type: [boolean][476] #### Examples ```javascript BaseRemotePlayer.prototype.ended; // false ``` Returns **[boolean][476]** Whether the cast player is in ended state. ### seeking Type: [boolean][476] #### Examples ```javascript BaseRemotePlayer.prototype.seeking; // false ``` Returns **[boolean][476]** Whether the cast player is in seeking state. ### muted Setter. Type: [boolean][476] #### Parameters - `mute` **[boolean][476]** The mute value to set. Returns **void** ### muted Getter. Type: [boolean][476] #### Examples ```javascript BaseRemotePlayer.prototype.muted; // false ``` Returns **[boolean][476]** The muted state. ### src Type: [string][475] #### Examples ```javascript BaseRemotePlayer.prototype.src; // '' ``` Returns **[string][475]** The current playing source url. ### poster Type: [string][475] #### Examples ```javascript BaseRemotePlayer.prototype.poster; // '' ``` Returns **[string][475]** The current poster url. ### playbackRate Setter. Type: [number][478] #### Parameters - `rate` **[number][478]** The playback rate to set. Returns **void** ### playbackRate Type: [number][478] #### Examples ```javascript BaseRemotePlayer.prototype.playbackRate; // 1 ``` Returns **[string][475]** The current playback rate. ### engineType Type: [string][475] #### Examples ```javascript BaseRemotePlayer.prototype.engineType; // '' ``` Returns **[string][475]** The active engine type. ### streamType Type: [string][475] #### Examples ```javascript BaseRemotePlayer.prototype.streamType; // '' ``` Returns **[string][475]** The active stream type. ### type Type: [string][475] #### Examples ```javascript BaseRemotePlayer.prototype.type; // BaseRemotePlayer.Type ``` Returns **[string][475]** The remote player type. ### config Type: [Object][473] Returns **KPOptionsObject** The runtime remote player config. ### defaultConfig Default configuration of the remote player. Type: [Object][473] #### Examples ```javascript BaseRemotePlayer.defaultConfig; // {} ``` ### Type Remote player type. Type: [string][475] #### Examples ```javascript BaseRemotePlayer.Type; // 'BaseRemotePlayer' ``` ### isSupported #### Examples ```javascript BaseRemotePlayer.isSupported(); // true ``` Returns **[boolean][476]** Whether the remote player is supported in the current environment. ## CastEventType Type: [Object][473] ### Examples ```javascript // Events lifecycle 1. CAST_AVAILABLE 2. CAST_SESSION_STARTING 3. CAST_SESSION_STARTED || CAST_SESSION_START_FAILED -> X 4. CAST_SESSION_ENDING 5. CAST_SESSION_ENDED ``` ```javascript // How to use player.addEventListener(KalturaPlayer.cast.CastEventType.CAST_SESSION_STARTED, e => { console.log(e.session); }; ``` ### CAST_SESSION_START_FAILED Fires when cast session start failed. ### CAST_SESSION_STARTING Fires when cast session starting. ### CAST_SESSION_STARTED Fires when cast session started. ### CAST_SESSION_ENDING Fires when cast session ending. ### CAST_SESSION_ENDED Fires when cast session ended. ### CAST_AVAILABLE Fires when cast is available. ## PlayerSnapshot ### Parameters - `player` **KalturaPlayer** The Kaltura player. ### textStyle Type: TextStyle ### advertising Type: [Object][473] ### config Type: [Object][473] ## RemoteControl ### Parameters - `player` **KalturaPlayer** The Kaltura player. ### getPlayerSnapshot Gets the player snapshot. Type: [Function][489] Returns **[PlayerSnapshot][490]** player snapshot. ### getUIWrapper Gets the UI wrapper. Type: [Function][489] Returns **UIWrapper** The UI wrapper. ### onRemoteDeviceDisconnected On remote device disconnected handler. Type: [Function][489] #### Parameters - `payload` **[RemoteDisconnectedPayload][491]** disconnected payload. Returns **void** ### onRemoteDeviceConnected On remote device connected handler. Type: [Function][489] #### Parameters - `payload` **[RemoteConnectedPayload][492]** connected payload. Returns **void** ### onRemoteDeviceAvailable On remote device available handler. Type: [Function][489] #### Parameters - `payload` **[RemoteAvailablePayload][493]** available payload. Returns **void** ### onRemoteDeviceConnecting On remote device connecting handler. Type: [Function][489] Returns **void** ### onRemoteDeviceDisconnecting On remote device disconnecting handler. Type: [Function][489] Returns **void** ### onRemoteDeviceConnectFailed On remote device connect failed handler. Type: [Function][489] Returns **void** ## RemotePayload ### Parameters - `player` **[BaseRemotePlayer][494]** The active remote player. ### player The active remote player. Type: [BaseRemotePlayer][494] Returns **[BaseRemotePlayer][494]** ## RemoteConnectedPayload **Extends RemotePayload** ### Parameters - `player` **[BaseRemotePlayer][494]** The active remote player. - `session` **[RemoteSession][488]** The remote session. - `ui` **[RemotePlayerUI][495]?** Optional remote player UI preset. ### ui Remote player UI preset. Type: [RemotePlayerUI][495]? Returns **[RemotePlayerUI][495]?** ### session Remote session. Type: [RemoteSession][488] Returns **[RemoteSession][488]?** ## RemoteDisconnectedPayload **Extends RemotePayload** ### Parameters - `player` **[BaseRemotePlayer][494]** The active remote player. - `snapshot` **[PlayerSnapshot][490]** The remote player snapshot. ### snapshot Remote player snapshot. Type: [PlayerSnapshot][490] Returns **[PlayerSnapshot][490]** ## RemoteAvailablePayload **Extends RemotePayload** ### Parameters - `player` **[BaseRemotePlayer][494]** The active remote player. - `available` **[boolean][476]** Remote player availability. ### available Remote player availability. Type: [boolean][476] Returns **[boolean][476]** ## RemotePlayerUI ### playbackUI Playback UI of the remote player. #### Parameters - `props` **[Object][473]** UI creation parameters. Returns **React$Element\** Component. ### idleUI Idle UI of the remote player. #### Parameters - `props` **[Object][473]** UI creation parameters. Returns **React$Element\** Component. ### adsUI Idle UI of the remote player. #### Parameters - `props` **[Object][473]** UI creation parameters. Returns **React$Element\** Component. ### liveUI Live UI of the remote player. #### Parameters - `props` **[Object][473]** UI creation parameters. Returns **React$Element\** Component. ### errorUI Error UI of the remote player. #### Parameters - `props` **[Object][473]** UI creation parameters. Returns **React$Element\** Component. ### uis UI presets. Type: [Array][474]\ Returns **[Array][474]\** ## IRemotePlayer ### textStyle Type: TextStyle ### muted Type: [boolean][476] ### playbackRate Type: [number][478] ### volume Type: [number][478] ### currentTime Type: [number][478] ### buffered Type: [number][478] ### duration Type: [number][478] ### liveDuration Type: [number][478] ### paused Type: [boolean][476] ### ended Type: [boolean][476] ### seeking Type: [boolean][476] ### src Type: [string][475] ### poster Type: [string][475] ### engineType Type: [string][475] ### streamType Type: [string][475] ### type Type: [string][475] ### ads Type: [Object][473] ### config Type: KPOptionsObject ### addEventListener #### Parameters - `type` **[string][475]** - `listener` **[Function][489]** Returns **void** ### removeEventListener #### Parameters - `type` **[string][475]** - `listener` **[Function][489]** Returns **void** ### dispatchEvent #### Parameters - `event` **FakeEvent** Returns **void** ### loadMedia #### Parameters - `mediaInfo` **[Object][473]** Returns **[Promise][487]\** ### setMedia #### Parameters - `mediaConfig` **[Object][473]** Returns **void** ### getMediaInfo Returns **[Object][473]** ### getMediaConfig Returns **[Object][473]** ### configure #### Parameters - `config` **[Object][473]** Returns **void** ### ready Returns **[Promise][487]\** ### load Returns **void** ### play Returns **void** ### pause Returns **void** ### reset Returns **void** ### destroy Returns **void** ### isLive Returns **[boolean][476]** ### isDvr Returns **[boolean][476]** ### seekToLiveEdge Returns **void** ### getStartTimeOfDvrWindow Returns **[number][478]** ### getTracks #### Parameters - `type` **[string][475]?** Returns **[Array][474]\** ### getActiveTracks Returns **[Object][473]** ### selectTrack #### Parameters - `track` **Track** Returns **void** ### hideTextTrack Returns **void** ### enableAdaptiveBitrate Returns **void** ### isAdaptiveBitrateEnabled Returns **[boolean][476]** ### setTextDisplaySettings #### Parameters - `settings` **[Object][473]** Returns **void** ### startCasting Returns **void** ### stopCasting Returns **void** ### isCasting Returns **[boolean][476]** ### isCastAvailable Returns **[boolean][476]** ### getCastSession Returns **[RemoteSession][488]** ### isVr Returns **[boolean][476]** ### toggleVrStereoMode Returns **void** ### isInVrStereoMode Returns **[boolean][476]** ## RemoteSession ### Parameters - `id` **[string][475]** Session ID. - `friendlyName` **[string][475]** Receiver friendly name. - `resuming` **[boolean][476]?** Whether the session is resuming. ### deviceFriendlyName Receiver friendly name. Type: [string][475] Returns **[string][475]** ### id Session ID. Type: [string][475] Returns **[string][475]** ### resuming Whether the session is resuming. Type: [boolean][476]? Returns **[boolean][476]?** ## AdsController ### Parameters - `player` **Player** The player. - `adsPluginController` **IAdsController** The controller of the current ads plugin instance. ### allAdsCompleted Type: [boolean][476] Returns **[boolean][476]** Whether all ads completed. ### isAdPlaying Returns **[boolean][476]** Whether an ad is playing. ### isAdBreak Returns **[boolean][476]** Whether we're in an ad break. ### getAdBreaksLayout Returns **[Array][474]<([number][478] | [string][475])>** The ad breaks layout (cue points). ### getAdBreak Returns **[AdBreak][496]?** Gets the current ad break data. ### getAd Returns **[Ad][497]?** Gets the current ad data. ### skipAd Skip on an ad. Returns **void** ### playAdNow Play an ad on demand. #### Parameters - `adPod` **[KPAdPod][479]** The ad pod play. Returns **void** ## ControllerProvider Controller provider ### Parameters - `pluginManager` **[PluginManager][498]** the plugin manager ### getAdsControllers Get the ads controller of the all ads plugins. Returns **[Array][474]\** the ads controllers. ## PlaylistEventType Type: [Object][473] ### Examples ```javascript // Events lifecycle 1. PLAYLIST_LOADED 2. PLAYLIST_ITEM_CHANGED (multiple) 3. PLAYLIST_ENDED ``` ```javascript // How to use player.addEventListener(KalturaPlayer.playlist.PlaylistEventType.PLAYLIST_LOADED, e => { console.log(e.payload.playlist.metadata.name); }; ``` ### PLAYLIST_LOADED Fires when the playlist has been loaded. ### PLAYLIST_ITEM_CHANGED Fires when a playlist item start to changed. ### PLAYLIST_ENDED Fires when the playlist has finished. ## PlaylistItem ### Parameters - `sources` **PKSourcesConfigObject?** The item sources - `config` **[KPPlaylistItemConfigObject][499]?** The item config ### updateSources Update the playlist item sources #### Parameters - `sourcesObject` **PKSourcesConfigObject** The sources Returns **void** ### updatePlugins Update the playlist item plugins (e.g. bumper from BE) #### Parameters - `pluginsObject` **[KPPluginsConfigObject][500]** The plugins Returns **void** ### sources Playlist item sources Type: PKSourcesConfigObject? Returns **PKSourcesConfigObject?** ### config Playlist item config Type: [KPPlaylistItemConfigObject][499]? Returns **[KPPlaylistItemConfigObject][499]?** ### plugins Playlist item plugins Type: [KPPluginsConfigObject][500] Returns **[KPPluginsConfigObject][500]** ### index Playlist item index Type: [number][478] Returns **[number][478]** ### isPlayable Returns **[boolean][476]** \= Whether the playlist item has sources to play ## PlaylistManager ### Parameters - `player` **KalturaPlayer** The player instance - `options` **KPOptionsObject** The player config object ### configure Config the playlist #### Parameters - `config` **[KPPlaylistObject][501]?** The playlist config - `entryList` **ProviderEntryListObject?** Entry list Returns **void** ### load Load a playlist #### Parameters - `playlistData` **[KPPlaylistObject][501]** The playlist data - `playlistConfig` **[KPPlaylistConfigObject][502]?** The playlist config - `entryList` **ProviderEntryListObject?** Entry list Returns **void** ### reset Reset the playlist Returns **void** ### playNext Play the next item Returns **void** ### playPrev Play the previous item Returns **void** ### playItem Play a specific item #### Parameters - `index` **[number][478]** The index of the item to play Returns **void** ### items Playlist items Type: [Array][474]<[PlaylistItem][484]> Returns **[Array][474]<[PlaylistItem][484]>** ### current Current item Type: [PlaylistItem][484]? Returns **[PlaylistItem][484]?** ### next Next item Type: [PlaylistItem][484]? Returns **[PlaylistItem][484]?** ### prev Previous item Type: [PlaylistItem][484]? Returns **[PlaylistItem][484]?** ### id Playlist id Type: [string][475] Returns **[string][475]** ### metadata Playlist metadata Type: ProviderPlaylistMetadataObject Returns **ProviderPlaylistMetadataObject** ### poster Playlist poster Type: [string][475]? Returns **[string][475]?** ### countdown Playlist countdown Type: [KPPlaylistCountdownOptions][483] Returns **[KPPlaylistCountdownOptions][483]** ### options Playlist options Type: [KPPlaylistOptions][482] Returns **[KPPlaylistOptions][482]** ## BasePlugin The BasePlugin responsible to implement the plugin interface. Contains several default implementations. Other plugins should extend this class. ### Parameters - `name` **[string][475]** The plugin name - `player` **[Object][473]** The player reference - `config` **[Object][473]** The plugin configuration ### config The runtime configuration of the plugin. Type: [Object][473] ### name The name of the plugin. Type: [string][475] ### player The logger of the plugin. Type: [Object][473] ### player Reference to the actual player. Type: [Object][473] ### eventManager The event manager of the plugin. Type: EventManager ### getConfig Getter for the configuration of the plugin. #### Parameters - `attr` **[string][475]** The key in the plugin configuration (optional). Returns **any** If attribute is provided, returns its value. Else, Returns the config of the plugin. ### ready Getter for the ready promise of the plugin. Type: [Promise][487]\ Returns **[Promise][487]\** returns a resolved promise unless the plugin overrides this ready getter. ### updateConfig Updates the config of the plugin. #### Parameters - `update` **[Object][473]** The updated configuration. Returns **void** ### loadMedia Runs the loadMedia logic of the plugin. plugin must implement this method. Returns **void** ### destroy Runs the destroy logic of the plugin. plugin must implement this method. Returns **void** ### reset Runs the reset logic of the plugin. plugin must implement this method. Returns **void** ### getName Getter for the plugin's name. Returns **[string][475]** The name of the plugin. ### dispatchEvent Dispatch an event via the plugin. #### Parameters - `name` **[string][475]** The event name. - `payload` **any** The event payload. Returns **void** ### defaultConfig The default configuration of the plugin. Inherited plugins should override this property. Type: [Object][473] ### createPlugin Factory method to create the actual plugin. #### Parameters - `name` **[string][475]** The plugin name - `player` **[Object][473]** The player reference - `config` **[Object][473]** The plugin configuration (optional, default `{}`) Returns **[BasePlugin][503]** New runtime plugin instance ### isValid Returns under what conditions the plugin is valid. Plugin must implement this method. Returns **[boolean][476]** Whether the plugin is valid and can be initiated. Default implementation is true ## PluginManager The PluginManager responsible for register plugins definitions and store plugins instances. ### load Creates and store new instance of the plugin in case isValid() of the plugin returns true. #### Parameters - `name` **[string][475]** The plugin name - `player` **[Object][473]** The player reference - `config` **[Object][473]** The plugin configuration (optional, default `{}`) Returns **[boolean][476]** Whether the plugin load was successful ### loadMedia Iterates over all the plugins and calls loadMedia(). Returns **void** ### destroy Iterates over all the plugins and calls destroy(). Returns **void** ### reset Iterates over all the plugins and calls reset() method of the plugin's impl. Returns **void** ### get Returns the plugin's instance. #### Parameters - `name` **[string][475]** The plugin name. Returns **[BasePlugin][503]** The plugin instance. ### getAll Returns all plugins. Returns **[Object][473]** All plugins. ### register Writes the plugin in the registry. Maps: plugin name -> plugin class. #### Parameters - `name` **[string][475]** The plugin name - `handler` **[Function][489]** The plugin class Returns **[boolean][476]** If the registration request succeeded ### unRegister Removes the plugin from the registry. #### Parameters - `name` **[string][475]** The plugin name Returns **void** ## registerPlugin Export the register method. Type: [function][489] ## load Load middleware handler. ### Parameters - `next` **[Function][489]** The load handler in the middleware chain. Returns **void** ## play Play middleware handler. ### Parameters - `next` **[Function][489]** The play handler in the middleware chain. Returns **void** ## constructor constructor ## get return the token store object Returns **(any | any)** token store object ## set recalculate the token store data, if new config with token is passed then add it to the data store, and if an existing token needs to be removed then remove it ### Parameters - `pluginsConfig` **dataStoreType?** the new config object Returns **void** ## reset reset the config store to its initial state Returns **void** ## constructor constructor ## evaluatePluginsConfig ### Parameters - `options` **[KPPluginsConfigObject][500]** plugins options - `config` **KPOptionsObject** player config Returns **void** ## ServiceProvider ### register #### Parameters - `name` **[string][475]** the service name - `service` **[Object][473]** the service object Returns **void** ### get #### Parameters - `name` **[string][475]** the service name Returns **[Object][473]** the service object ### has #### Parameters - `name` **[string][475]** the service name Returns **[boolean][476]** if the service exist ### reset Returns **void** ### destroy Returns **void** ## getRedirectExternalStreamsHandler Get the redirect external stream handler. ### Parameters - `playerOptions` **KPOptionsObject** The player config. - `mediaOptions` **KPOptionsObject** The media config. (optional, default `{}`) Returns **void** ## SupportedOptions enum for supported options Type: [Object][473] ## getMediaCapabilities get the media capabilities ### Parameters - `hevcConfig` **[HEVCConfigObject][504]** The HEVC configuration to check (optional). Returns **[Promise][487]<[MediaCapabilitiesObject][505]>** The media capabilities object. ## getMediaCapabilities get the media capabilities ### Parameters - `hevcConfig` **[HEVCConfigObject][504]** The HEVC configuration to check (optional). Returns **[Promise][487]<[MediaCapabilitiesObject][505]>** The media capabilities object. ## maybeSetStreamPriority set stream priority according to playerConfig ### Parameters - `player` **Player** player - `sources` **PKSourcesConfigObject** sources Returns **void** ## hasYoutubeSource returns true if sources contain youtube video source ### Parameters - `sources` **PKSourcesConfigObject** thr sources object Returns **[boolean][476]** true if sources contain youtube source ## hasImageSource returns true if sources contain image source ## hasDocumentSource returns true if sources contain document source ### Parameters - `sources` **PKSourcesConfigObject** thr sources object Returns **[boolean][476]** true if sources contain image source ## mergeProviderPluginsConfig Merge the provider plugins config (e.g. bumper) into the app config and returns it and the respective app config to restore in change media ### Parameters - `providerPluginsConfig` **[KPPluginsConfigObject][500]** the provider plugins config - `appPluginsConfig` **KPOptionsObject** the entire app plugins config Returns **[Array][474]<[KPPluginsConfigObject][500]>** the merged plugins config and the partial respective app plugins config ## ViewabilityManager A service class to observe viewability of elements in the view port. ### Parameters - `viewabilityConfig` **[number][478]** the configuration needed to create the manager (optional, default `{}`) ### observe #### Parameters - `target` **[HTMLElement][506]** the targeted element to check its visibility - `listener` **[Function][489]** the callback to be invoked when visibility is changed (and when starting to observe). The callback is called with a boolean param representing the visibility state - `optionalThreshold` **[number][478]?** a number between 0 to 100 that represents the minimum visible percentage considered as visible Returns **void** ### unObserve Remove the listener from the target #### Parameters - `target` **[HTMLElement][506]** the targeted element to remove the listener - `listener` **[Function][489]** the callback function to be removed Returns **void** ### destroy cleans all memory allocations. ## loadMedia Loads a media. ### Parameters - `mediaInfo` **ProviderMediaInfoObject** The media info. - `mediaOptions` **PKSourcesConfigObject?** The media options. ### Examples ```javascript kalturaPlayer.loadMedia({entryId: 'entry123'}, {startTime: 5, poster: 'my/poster/url'}); ``` Returns **[Promise][487]\** Promise which resolves when the media is loaded, or rejected if error occurs. ## setMedia sets a media. ### Parameters - `mediaConfig` **[KPMediaConfig][507]** The media config. Returns **void** ## loadPlaylist Loads a playlist by id. ### Parameters - `playlistInfo` **ProviderPlaylistInfoObject** The playlist info. - `playlistConfig` **[KPPlaylistConfigObject][502]?** The playlist config. ### Examples ```javascript kalturaPlayer.loadPlaylist({playlistId: '123456'}, {options: {autoContinue: false}}); ``` Returns **[Promise][487]\** The playlist data from the provider. ## loadPlaylistByEntryList Loads a playlist by entry list. ### Parameters - `entryList` **ProviderEntryListObject** The playlist info. - `playlistConfig` **[KPPlaylistConfigObject][502]?** The playlist config. ### Examples ```javascript kalturaPlayer.loadPlaylistByEntryList({entries: [{entryId: '01234'}, {entryId: '56789'}]}, {options: {autoContinue: false}}); ``` Returns **[Promise][487]\** The playlist data from the provider. ## getDrmInfo returns the media drm info. Returns **PKDrmDataObject** the drm info ## setSourcesMetadata Config the player. ### Parameters - `sourcesMetadata` **PKMetadataConfigObject** The player sources metadata config. ### Examples ```javascript kalturaPlayer.setSourcesMetadata({epgId: '1234'}); ``` Returns **void** ## configure Config the player. ### Parameters - `config` **[Object][473]** The player config. (optional, default `{}`) ### Examples ```javascript kalturaPlayer.configure({playback: {autoplay: true}}); ``` Returns **void** ## isLive Is the current media a live media. ### Examples ```javascript KalturaPlayer.isLive(); ``` Returns **[boolean][476]** boolean if isLive ## isDvr Does the current media contain a DVR window. ### Examples ```javascript KalturaPlayer.isDvr(); ``` Returns **[boolean][476]** boolean if isDvr ## isFullscreen Is in full screen mode. ### Examples ```javascript KalturaPlayer.isFullscreen(); ``` Returns **[boolean][476]** boolean if isFullscreen ## enterFullscreen Enter full screen mode. ### Parameters - `fullScreenElementId` **[string][475]** fullScreenElementId is optional will use targetId if not provided ### Examples ```javascript KalturaPlayer.enterFullscreen(); ``` Returns **void** ## exitFullscreen Exit full screen mode. ### Examples ```javascript KalturaPlayer.exitFullscreen(); ``` Returns **void** ## enterPictureInPicture Enter picture in picture mode. ### Examples ```javascript KalturaPlayer.enterPictureInPicture(); ``` Returns **void** ## exitPictureInPicture Exit picture in picture mode. ### Examples ```javascript KalturaPlayer.exitPictureInPicture(); ``` Returns **void** ## isInPictureInPicture Is in picture in picture mode. ### Examples ```javascript KalturaPlayer.isInPictureInPicture(); ``` Returns **[boolean][476]** boolean if isInPictureInPicture ## isPictureInPictureSupported Is in picture in picture mode supported. ### Examples ```javascript KalturaPlayer.isPictureInPictureSupported(); ``` Returns **[boolean][476]** boolean if isPictureInPictureSupported ## normalizedCurrentTime In VOD playback this setter is like the regular `currentTime` setter. In live playback this setter normalizes the seek point to be relative to the start of the DVR window. This setter is useful to display a seekbar presents the available seek range only. Type: [number][478] ### Parameters - `to` **[Number][478]** The number to set in seconds (from 0 to the normalized duration). Returns **void** ## normalizedCurrentTime In VOD playback this getter is like the regular `currentTime` getter. In live playback this getter normalizes the current time to be relative to the start of the DVR window. This getter is useful to display a seekbar presents the available seek range only. Type: [number][478] Returns **[number][478]** ## normalizedDuration In VOD playback this getter is like the regular `duration` getter. In live playback this getter normalizes the duration to be relative to the start of the DVR window. This getter is useful to display a seekbar presents the available seek range only. Type: [number][478] Returns **[number][478]** ## playlist The playlist controller. Type: [PlaylistManager][508] ### Examples ```javascript KalturaPlayer.playlist.playNext(); ``` Returns **[PlaylistManager][508]** ## crossOrigin Set crossOrigin attribute. Type: [string][475]? ### Parameters - `crossOrigin` **[string][475]?** 'anonymous', 'use-credentials' or null to remove attribute anonymous: CORS requests for this element will not have the credentials flag set. use-credentials: CORS requests for this element will have the credentials flag set; this means the request will provide credentials. Returns **void** ## crossOrigin Get crossOrigin attribute. Type: [string][475]? Returns **[string][475]?** 'anonymous' or 'use-credentials' ## isVisible Gets the player visibility state Type: [boolean][476] Returns **[boolean][476]** whether the player is in the active browser tab and visible in the view port ## viewabilityManager Gets the player viewability manager service Type: [ViewabilityManager][509] Returns **[ViewabilityManager][509]** player viewability manager ## getService Gets a registered service of that name ### Parameters - `name` **[string][475]** the service name Returns **[Object][473]** the service object ## hasService Checks if a service of that name has been registered ### Parameters - `name` **[string][475]** the service name Returns **[boolean][476]** if the service exist ## registerService Registers a service to be used across the player ### Parameters - `name` **[string][475]** the service name - `service` **[Object][473]** the service object Returns **void** ## addTextTrack Add text track ### Parameters - `kind` **[string][475]** Specifies the kind of text track. - `label` **[string][475]?** A string specifying the label for the text track. Returns **TextTrack?** A TextTrack Object, which represents the new text track. ## getNativeTextTracks get the native text tracks Returns **[Array][474]\** The native TextTracks array. ## getDefaultRedirectOptions get the default config for forcing external stream redirect. ### Parameters - `playerOptions` **KPOptionsObject** The player config. - `mediaOptions` **KPOptionsObject** The media config. (optional, default `{}`) Returns **[Object][473]** config object ## getDefaultRedirectOptions get the default config for forcing external stream redirect. ### Parameters - `playerOptions` **KPOptionsObject** The player config. - `mediaOptions` **KPOptionsObject** The media config. (optional, default `{}`) Returns **[Object][473]** config object ## getPlayers get all instantiated players Returns **[KalturaPlayers][510]** map of player ids and their respective instantiated player ## getPlayer get a player instance by id ### Parameters - `id` **[string][475]** the player ID Returns **(KalturaPlayer | null)** the player if found by the supplied ID or null if key doesn't exist [1]: #kpadobject [2]: #properties [3]: #kpadpod [4]: #kpadbreakobject [5]: #properties-1 [6]: #kpadvertisingconfigobject [7]: #properties-2 [8]: #kalturaplayers [9]: #hevcconfigobject [10]: #properties-3 [11]: #hevcsupportedobject [12]: #properties-4 [13]: #drmsupportedobject [14]: #properties-5 [15]: #mediacapabilitiesobject [16]: #supportedoptionstype [17]: #kpmediaconfig [18]: #properties-6 [19]: #kpplaylistoptions [20]: #properties-7 [21]: #kpplaylistcountdownoptions [22]: #properties-8 [23]: #kpplaylistconfigobject [24]: #properties-9 [25]: #kpplaylistobject [26]: #properties-10 [27]: #kpplaylistitemconfigobject [28]: #properties-11 [29]: #kppluginsconfigobject [30]: #adbreak [31]: #parameters [32]: #type [33]: #position [34]: #numads [35]: #ad [36]: #parameters-1 [37]: #id [38]: #system [39]: #contenttype [40]: #url [41]: #title [42]: #position-1 [43]: #duration [44]: #clickthroughurl [45]: #posterurl [46]: #skipoffset [47]: #linear [48]: #width [49]: #height [50]: #bitrate [51]: #bumper [52]: #instream [53]: #skippable [54]: #vpaid [55]: #streamid [56]: #wrapperadids [57]: #wrappercreativeids [58]: #wrapperadsystems [59]: #prebidmanager [60]: #parameters-2 [61]: #load [62]: #parameters-3 [63]: #baseremoteplayer [64]: #parameters-4 [65]: #loadmedia [66]: #parameters-5 [67]: #setmedia [68]: #parameters-6 [69]: #getmediainfo [70]: #getmediaconfig [71]: #configure [72]: #parameters-7 [73]: #ready [74]: #load-1 [75]: #play [76]: #pause [77]: #reset [78]: #destroy [79]: #islive [80]: #examples [81]: #isdvr [82]: #examples-1 [83]: #seektoliveedge [84]: #getstarttimeofdvrwindow [85]: #examples-2 [86]: #gettracks [87]: #parameters-8 [88]: #examples-3 [89]: #getactivetracks [90]: #examples-4 [91]: #selecttrack [92]: #parameters-9 [93]: #hidetexttrack [94]: #enableadaptivebitrate [95]: #isadaptivebitrateenabled [96]: #examples-5 [97]: #settextdisplaysettings [98]: #parameters-10 [99]: #startcasting [100]: #stopcasting [101]: #iscasting [102]: #examples-6 [103]: #iscastavailable [104]: #examples-7 [105]: #getcastsession [106]: #examples-8 [107]: #isvr [108]: #examples-9 [109]: #togglevrstereomode [110]: #isinvrstereomode [111]: #examples-10 [112]: #ads [113]: #examples-11 [114]: #textstyle [115]: #parameters-11 [116]: #textstyle-1 [117]: #examples-12 [118]: #buffered [119]: #examples-13 [120]: #currenttime [121]: #parameters-12 [122]: #currenttime-1 [123]: #examples-14 [124]: #duration-1 [125]: #examples-15 [126]: #liveduration [127]: #examples-16 [128]: #volume [129]: #parameters-13 [130]: #volume-1 [131]: #examples-17 [132]: #paused [133]: #examples-18 [134]: #ended [135]: #examples-19 [136]: #seeking [137]: #examples-20 [138]: #muted [139]: #parameters-14 [140]: #muted-1 [141]: #examples-21 [142]: #src [143]: #examples-22 [144]: #poster [145]: #examples-23 [146]: #playbackrate [147]: #parameters-15 [148]: #playbackrate-1 [149]: #examples-24 [150]: #enginetype [151]: #examples-25 [152]: #streamtype [153]: #examples-26 [154]: #type-1 [155]: #examples-27 [156]: #config [157]: #defaultconfig [158]: #examples-28 [159]: #type-2 [160]: #examples-29 [161]: #issupported [162]: #examples-30 [163]: #casteventtype [164]: #examples-31 [165]: #cast_session_start_failed [166]: #cast_session_starting [167]: #cast_session_started [168]: #cast_session_ending [169]: #cast_session_ended [170]: #cast_available [171]: #playersnapshot [172]: #parameters-16 [173]: #textstyle-2 [174]: #advertising [175]: #config-1 [176]: #remotecontrol [177]: #parameters-17 [178]: #getplayersnapshot [179]: #getuiwrapper [180]: #onremotedevicedisconnected [181]: #parameters-18 [182]: #onremotedeviceconnected [183]: #parameters-19 [184]: #onremotedeviceavailable [185]: #parameters-20 [186]: #onremotedeviceconnecting [187]: #onremotedevicedisconnecting [188]: #onremotedeviceconnectfailed [189]: #remotepayload [190]: #parameters-21 [191]: #player [192]: #remoteconnectedpayload [193]: #parameters-22 [194]: #ui [195]: #session [196]: #remotedisconnectedpayload [197]: #parameters-23 [198]: #snapshot [199]: #remoteavailablepayload [200]: #parameters-24 [201]: #available [202]: #remoteplayerui [203]: #playbackui [204]: #parameters-25 [205]: #idleui [206]: #parameters-26 [207]: #adsui [208]: #parameters-27 [209]: #liveui [210]: #parameters-28 [211]: #errorui [212]: #parameters-29 [213]: #uis [214]: #iremoteplayer [215]: #textstyle-3 [216]: #muted-2 [217]: #playbackrate-2 [218]: #volume-2 [219]: #currenttime-2 [220]: #buffered-1 [221]: #duration-2 [222]: #liveduration-1 [223]: #paused-1 [224]: #ended-1 [225]: #seeking-1 [226]: #src-1 [227]: #poster-1 [228]: #enginetype-1 [229]: #streamtype-1 [230]: #type-3 [231]: #ads-1 [232]: #config-2 [233]: #addeventlistener [234]: #parameters-30 [235]: #removeeventlistener [236]: #parameters-31 [237]: #dispatchevent [238]: #parameters-32 [239]: #loadmedia-1 [240]: #parameters-33 [241]: #setmedia-1 [242]: #parameters-34 [243]: #getmediainfo-1 [244]: #getmediaconfig-1 [245]: #configure-1 [246]: #parameters-35 [247]: #ready-1 [248]: #load-2 [249]: #play-1 [250]: #pause-1 [251]: #reset-1 [252]: #destroy-1 [253]: #islive-1 [254]: #isdvr-1 [255]: #seektoliveedge-1 [256]: #getstarttimeofdvrwindow-1 [257]: #gettracks-1 [258]: #parameters-36 [259]: #getactivetracks-1 [260]: #selecttrack-1 [261]: #parameters-37 [262]: #hidetexttrack-1 [263]: #enableadaptivebitrate-1 [264]: #isadaptivebitrateenabled-1 [265]: #settextdisplaysettings-1 [266]: #parameters-38 [267]: #startcasting-1 [268]: #stopcasting-1 [269]: #iscasting-1 [270]: #iscastavailable-1 [271]: #getcastsession-1 [272]: #isvr-1 [273]: #togglevrstereomode-1 [274]: #isinvrstereomode-1 [275]: #remotesession [276]: #parameters-39 [277]: #devicefriendlyname [278]: #id-1 [279]: #resuming [280]: #adscontroller [281]: #parameters-40 [282]: #alladscompleted [283]: #isadplaying [284]: #isadbreak [285]: #getadbreakslayout [286]: #getadbreak [287]: #getad [288]: #skipad [289]: #playadnow [290]: #parameters-41 [291]: #controllerprovider [292]: #parameters-42 [293]: #getadscontrollers [294]: #playlisteventtype [295]: #examples-32 [296]: #playlist_loaded [297]: #playlist_item_changed [298]: #playlist_ended [299]: #playlistitem [300]: #parameters-43 [301]: #updatesources [302]: #parameters-44 [303]: #updateplugins [304]: #parameters-45 [305]: #sources [306]: #config-3 [307]: #plugins [308]: #index [309]: #isplayable [310]: #playlistmanager [311]: #parameters-46 [312]: #configure-2 [313]: #parameters-47 [314]: #load-3 [315]: #parameters-48 [316]: #reset-2 [317]: #playnext [318]: #playprev [319]: #playitem [320]: #parameters-49 [321]: #items [322]: #current [323]: #next [324]: #prev [325]: #id-2 [326]: #metadata [327]: #poster-2 [328]: #countdown [329]: #options [330]: #baseplugin [331]: #parameters-50 [332]: #config-4 [333]: #name [334]: #player-1 [335]: #player-2 [336]: #eventmanager [337]: #getconfig [338]: #parameters-51 [339]: #ready-2 [340]: #updateconfig [341]: #parameters-52 [342]: #loadmedia-2 [343]: #destroy-2 [344]: #reset-3 [345]: #getname [346]: #dispatchevent-1 [347]: #parameters-53 [348]: #defaultconfig-1 [349]: #createplugin [350]: #parameters-54 [351]: #isvalid [352]: #pluginmanager [353]: #load-4 [354]: #parameters-55 [355]: #loadmedia-3 [356]: #destroy-3 [357]: #reset-4 [358]: #get [359]: #parameters-56 [360]: #getall [361]: #register [362]: #parameters-57 [363]: #unregister [364]: #parameters-58 [365]: #registerplugin [366]: #load-5 [367]: #parameters-59 [368]: #play-2 [369]: #parameters-60 [370]: #constructor [371]: #get-1 [372]: #set [373]: #parameters-61 [374]: #reset-5 [375]: #constructor-1 [376]: #evaluatepluginsconfig [377]: #parameters-62 [378]: #serviceprovider [379]: #register-1 [380]: #parameters-63 [381]: #get-2 [382]: #parameters-64 [383]: #has [384]: #parameters-65 [385]: #reset-6 [386]: #destroy-4 [387]: #getredirectexternalstreamshandler [388]: #parameters-66 [389]: #supportedoptions [390]: #getmediacapabilities [391]: #parameters-67 [392]: #getmediacapabilities-1 [393]: #parameters-68 [394]: #maybesetstreampriority [395]: #parameters-69 [396]: #hasyoutubesource [397]: #parameters-70 [398]: #hasimagesource [399]: #parameters-71 [400]: #mergeproviderpluginsconfig [401]: #parameters-72 [402]: #viewabilitymanager [403]: #parameters-73 [404]: #observe [405]: #parameters-74 [406]: #unobserve [407]: #parameters-75 [408]: #destroy-5 [409]: #loadmedia-4 [410]: #parameters-76 [411]: #examples-33 [412]: #setmedia-2 [413]: #parameters-77 [414]: #loadplaylist [415]: #parameters-78 [416]: #examples-34 [417]: #loadplaylistbyentrylist [418]: #parameters-79 [419]: #examples-35 [420]: #getdrminfo [421]: #setsourcesmetadata [422]: #parameters-80 [423]: #examples-36 [424]: #configure-3 [425]: #parameters-81 [426]: #examples-37 [427]: #islive-2 [428]: #examples-38 [429]: #isdvr-2 [430]: #examples-39 [431]: #isfullscreen [432]: #examples-40 [433]: #enterfullscreen [434]: #parameters-82 [435]: #examples-41 [436]: #exitfullscreen [437]: #examples-42 [438]: #enterpictureinpicture [439]: #examples-43 [440]: #exitpictureinpicture [441]: #examples-44 [442]: #isinpictureinpicture [443]: #examples-45 [444]: #ispictureinpicturesupported [445]: #examples-46 [446]: #normalizedcurrenttime [447]: #parameters-83 [448]: #normalizedcurrenttime-1 [449]: #normalizedduration [450]: #playlist [451]: #examples-47 [452]: #crossorigin [453]: #parameters-84 [454]: #crossorigin-1 [455]: #isvisible [456]: #viewabilitymanager-1 [457]: #getservice [458]: #parameters-85 [459]: #hasservice [460]: #parameters-86 [461]: #registerservice [462]: #parameters-87 [463]: #addtexttrack [464]: #parameters-88 [465]: #getnativetexttracks [466]: #getdefaultredirectoptions [467]: #parameters-89 [468]: #getdefaultredirectoptions-1 [469]: #parameters-90 [470]: #getplayers [471]: #getplayer [472]: #parameters-91 [473]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object [474]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array [475]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String [476]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean [477]: #kpadobject [478]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number [479]: #kpadpod [480]: #kpadbreakobject [481]: https://github.com/kaltura/playkit-js-timeline/blob/main/docs/types.md#cuepointoptionsobject [482]: #kpplaylistoptions [483]: #kpplaylistcountdownoptions [484]: #playlistitem [485]: #prebidmanager [486]: #remotecontrol [487]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise [488]: #remotesession [489]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function [490]: #playersnapshot [491]: #remotedisconnectedpayload [492]: #remoteconnectedpayload [493]: #remoteavailablepayload [494]: #baseremoteplayer [495]: #remoteplayerui [496]: #adbreak [497]: #ad [498]: #pluginmanager [499]: #kpplaylistitemconfigobject [500]: #kppluginsconfigobject [501]: #kpplaylistobject [502]: #kpplaylistconfigobject [503]: #baseplugin [504]: #hevcconfigobject [505]: #mediacapabilitiesobject [506]: https://developer.mozilla.org/docs/Web/HTML/Element [507]: #kpmediaconfig [508]: #playlistmanager [509]: #viewabilitymanager [510]: #kalturaplayers