mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-02-28 03:32:56 +00:00
See https://developer.jwplayer.com/jw-player/docs/javascript-api-reference/#jwplayergetsaferegion
332 lines
9.2 KiB
TypeScript
332 lines
9.2 KiB
TypeScript
// Type definitions for JW Player V8.0
|
|
// Project: http://developer.longtailvideo.com/trac/
|
|
// Definitions by: Martin Duparc <https://github.com/martinduparc>
|
|
// Tomer Kruvi <https://github.com/kutomer>
|
|
// Philipp Gürtler <https://github.com/philippguertler>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
// JW Player is the leading HTML5 & Flash video player, optimized for mobile and the desktop. Easy enough for beginners, advanced enough for pros.
|
|
|
|
interface Version {
|
|
version: string;
|
|
major: number;
|
|
minor: number
|
|
}
|
|
|
|
interface Browser {
|
|
chrome: boolean;
|
|
edge: boolean;
|
|
facebook: boolean;
|
|
firefox: boolean;
|
|
ie: boolean;
|
|
msie: boolean;
|
|
safari: boolean;
|
|
version: Version;
|
|
}
|
|
|
|
interface OS {
|
|
android: boolean;
|
|
androidNative: boolean; // Android native browser
|
|
iOS: boolean;
|
|
mobile: boolean;
|
|
mac: boolean;
|
|
iPad: boolean;
|
|
iPhone: boolean;
|
|
windows: boolean;
|
|
version: Version;
|
|
}
|
|
|
|
interface Features {
|
|
flash: boolean;
|
|
flashVersion: number;
|
|
iframe: boolean;
|
|
}
|
|
|
|
interface Environment{
|
|
Browser: Browser;
|
|
OS: OS;
|
|
Features: Features;
|
|
}
|
|
|
|
interface CallbackParam {
|
|
}
|
|
|
|
interface AdProgressParam extends CallbackParam {
|
|
client: 'vast' | 'googima';
|
|
creativetype: string;
|
|
tag: string;
|
|
}
|
|
|
|
interface AdCompanionsParam extends CallbackParam {
|
|
companions: any[];
|
|
tag: string;
|
|
}
|
|
|
|
interface AdErrorParam extends CallbackParam {
|
|
message: string;
|
|
tag: string;
|
|
}
|
|
|
|
interface AdRequestParam extends CallbackParam {
|
|
adposition: 'pre' | 'mid' | 'post';
|
|
client: 'vast' | 'googima';
|
|
offset: 'pre' | 'mid' | 'post';
|
|
tag: string;
|
|
}
|
|
|
|
interface AdImpressionParam extends CallbackParam {
|
|
adposition: 'pre' | 'mid' | 'post';
|
|
adsystem: string;
|
|
adtitle: string;
|
|
clickThroughUrl: string;
|
|
client: 'vast' | 'googima';
|
|
creativetype: string;
|
|
linear: string;
|
|
mediafile: any;
|
|
tag: string;
|
|
vastversion: number;
|
|
wrapper: any[];
|
|
}
|
|
|
|
interface AdStartedParam extends CallbackParam {
|
|
creativetype: string;
|
|
tag: string;
|
|
}
|
|
|
|
interface AdPlayParam extends CallbackParam {
|
|
creativetype: string;
|
|
newstate: string;
|
|
oldstate: string;
|
|
tag: string;
|
|
}
|
|
|
|
interface BufferParam extends CallbackParam {
|
|
newstate: string;
|
|
oldstate: string;
|
|
reason: 'loading' | 'complete' | 'stalled' | 'error';
|
|
}
|
|
|
|
interface BufferChangeParam extends CallbackParam {
|
|
duration: number;
|
|
bufferPercent: number;
|
|
position: number;
|
|
metadata: any;
|
|
}
|
|
|
|
interface AdTimeParam extends CallbackParam {
|
|
client: 'vast' | 'googima';
|
|
creativetype: string;
|
|
duration: number;
|
|
position: number;
|
|
sequence: number;
|
|
tag: string;
|
|
}
|
|
|
|
interface AudioTracksParam extends CallbackParam {
|
|
levels: any[];
|
|
}
|
|
|
|
interface CaptionsChangedParam extends CallbackParam {
|
|
currentTrack: number;
|
|
}
|
|
|
|
interface CaptionsListParam extends CallbackParam {
|
|
tracks: any[];
|
|
}
|
|
|
|
interface AudioTrackChangedParam extends CallbackParam {
|
|
currentTrack: number;
|
|
}
|
|
|
|
interface MetadataParam extends CallbackParam {
|
|
metadata: any;
|
|
}
|
|
|
|
interface ControlsParam extends CallbackParam {
|
|
controls: boolean;
|
|
}
|
|
|
|
interface ErrorParam extends CallbackParam {
|
|
message: string;
|
|
}
|
|
|
|
interface FullscreenParam extends CallbackParam {
|
|
fullscreen: boolean;
|
|
}
|
|
|
|
interface IdleParam extends CallbackParam {
|
|
oldstate: 'buffering' | 'playing' | 'paused';
|
|
}
|
|
|
|
interface LevelsChangedParam extends CallbackParam {
|
|
currentQuality: number;
|
|
}
|
|
|
|
interface MuteParam extends CallbackParam {
|
|
mute: boolean;
|
|
}
|
|
|
|
interface VolumeParam extends CallbackParam {
|
|
volume: boolean;
|
|
}
|
|
|
|
interface PlayParam extends CallbackParam {
|
|
oldstate: 'buffering' | 'playing';
|
|
viewable: 0 | 1;
|
|
}
|
|
|
|
interface PlaylistParam extends CallbackParam {
|
|
playlist: any[];
|
|
}
|
|
|
|
interface PlaylistItemParam extends CallbackParam {
|
|
index: number;
|
|
item: any;
|
|
}
|
|
|
|
interface ReadyParam extends CallbackParam {
|
|
setupTime: number;
|
|
viewable: 0 | 1;
|
|
}
|
|
|
|
interface ResizeParam extends CallbackParam {
|
|
width: number;
|
|
height: number;
|
|
}
|
|
|
|
interface VisualQualityParam extends CallbackParam {
|
|
mode: string;
|
|
label: string;
|
|
reason: string;
|
|
}
|
|
|
|
interface LevelsParam extends CallbackParam {
|
|
width: number;
|
|
levels: any[];
|
|
}
|
|
|
|
interface SeekParam extends CallbackParam {
|
|
position: number;
|
|
offset: number;
|
|
}
|
|
|
|
interface TimeParam extends CallbackParam {
|
|
duration: number;
|
|
position: number;
|
|
viewable: 0 | 1;
|
|
}
|
|
|
|
interface FirstFrameParam extends CallbackParam {
|
|
loadTime: number;
|
|
viewable: 0 | 1;
|
|
}
|
|
|
|
interface EventCallback<T extends CallbackParam> {
|
|
(param: T): void;
|
|
}
|
|
|
|
interface Region {
|
|
x: 0; // x and y will always be 0 according to https://developer.jwplayer.com/jw-player/docs/javascript-api-reference/#jwplayergetsaferegion
|
|
y: 0;
|
|
width: number;
|
|
height: number;
|
|
}
|
|
|
|
interface JWPlayer {
|
|
addButton(icon: string, label: string, handler: () => void, id: string): void;
|
|
getAudioTracks(): any[];
|
|
getBuffer(): number;
|
|
getCaptionsList(): any[];
|
|
getControls(): boolean;
|
|
getCurrentAudioTrack(): number;
|
|
getCurrentCaptions(): number;
|
|
getCurrentQuality(): number;
|
|
getDuration(): number;
|
|
getHeight(): number;
|
|
getFullscreen(): boolean;
|
|
getMute(): boolean;
|
|
getPlaylist(): any[];
|
|
getPlaylistIndex(): number;
|
|
getPlaylistItem(index?: number): any;
|
|
getPosition(): number;
|
|
getQualityLevels(): any[];
|
|
getRenderingMode(): string;
|
|
getSafeRegion(): Region;
|
|
getState(): string;
|
|
getVolume(): number;
|
|
getEnvironment(): Environment;
|
|
getWidth(): number;
|
|
load(playlist: any[]): void;
|
|
load(playlist: string): void;
|
|
on(event: 'adClick', callback: EventCallback<AdProgressParam>): void;
|
|
on(event: 'adCompanions', callback: EventCallback<AdCompanionsParam>): void;
|
|
on(event: 'adComplete', callback: EventCallback<AdProgressParam>): void;
|
|
on(event: 'adSkipped', callback: EventCallback<AdProgressParam>): void;
|
|
on(event: 'adError', callback: EventCallback<AdErrorParam>): void;
|
|
on(event: 'adBlock', callback: () => void): void;
|
|
on(event: 'adRequest', callback: EventCallback<AdRequestParam>): void;
|
|
on(event: 'adStarted', callback: EventCallback<AdStartedParam>): void;
|
|
on(event: 'adImpression', callback: EventCallback<AdImpressionParam>): void;
|
|
on(event: 'adPlay', callback: EventCallback<AdPlayParam>): void;
|
|
on(event: 'adPause', callback: EventCallback<AdPlayParam>): void;
|
|
on(event: 'adTime', callback: EventCallback<AdTimeParam>): void;
|
|
on(event: 'meta', callback: EventCallback<MetadataParam>): void;
|
|
on(event: 'audioTracks', callback: EventCallback<AudioTracksParam>): void;
|
|
on(event: 'audioTrackChanged', callback: EventCallback<AudioTrackChangedParam>): void;
|
|
on(event: 'beforeComplete', callback: () => void): void;
|
|
on(event: 'complete', callback: () => void): void;
|
|
on(event: 'firstFrame', callback: EventCallback<FirstFrameParam>): void;
|
|
on(event: 'beforePlay', callback: () => void): void;
|
|
on(event: 'buffer', callback: EventCallback<BufferParam>): void;
|
|
on(event: 'bufferChange', callback: EventCallback<BufferChangeParam>): void;
|
|
on(event: 'captionsChanged', callback: EventCallback<CaptionsChangedParam>): void;
|
|
on(event: 'captionsList', callback: EventCallback<CaptionsListParam>): void;
|
|
on(event: 'controls', callback: EventCallback<ControlsParam>): void;
|
|
on(event: 'displayClick', callback: () => void): void;
|
|
on(event: 'error', callback: EventCallback<ErrorParam>): void;
|
|
on(event: 'fullscreen', callback: EventCallback<FullscreenParam>): void;
|
|
on(event: 'idle', callback: EventCallback<IdleParam>): void;
|
|
on(event: 'levelsChanged', callback: EventCallback<LevelsChangedParam>): void;
|
|
on(event: 'mute', callback: EventCallback<MuteParam>): void;
|
|
on(event: 'volume', callback: EventCallback<VolumeParam>): void;
|
|
on(event: 'pause', callback: EventCallback<PlayParam>): void;
|
|
on(event: 'play', callback: EventCallback<PlayParam>): void;
|
|
on(event: 'playlist', callback: EventCallback<PlaylistParam>): void;
|
|
on(event: 'playlistItem', callback: EventCallback<PlaylistItemParam>): void;
|
|
on(event: 'playlistComplete', callback: () => void): void;
|
|
on(event: 'ready', callback: EventCallback<ReadyParam>): void;
|
|
on(event: 'resize', callback: EventCallback<ResizeParam>): void;
|
|
on(event: 'visualQuality', callback: EventCallback<VisualQualityParam>): void;
|
|
on(event: 'levels', callback: EventCallback<LevelsParam>): void;
|
|
on(event: 'seek', callback: EventCallback<SeekParam>): void;
|
|
on(event: 'setupError', callback: EventCallback<ErrorParam>): void;
|
|
on(event: 'remove', callback: () => void): void;
|
|
on(event: 'time', callback: EventCallback<TimeParam>): void;
|
|
pause(state?: boolean): void;
|
|
play(state?: boolean): void;
|
|
playAd(tag: string): void;
|
|
playlistItem(index: number): void;
|
|
registerPlugin(id: string, target: string, jsPlugin: () => void, swfURL?: string): void;
|
|
remove(): void;
|
|
removeButton(id: string): void;
|
|
resize(width: number, height: number): void;
|
|
seek(position: number): void;
|
|
setControls(controls: boolean): void;
|
|
setCurrentAudioTrack(index: number): void;
|
|
setCurrentCaptions(index: number): void;
|
|
setCurrentQuality(index: number): void;
|
|
setFullscreen(state: boolean): void;
|
|
setMute(state?: boolean): void;
|
|
setup(options: any): JWPlayer;
|
|
setVolume(volume: number): void;
|
|
stop(): void;
|
|
}
|
|
|
|
interface JWPlayerStatic {
|
|
(id: string): JWPlayer;
|
|
key: string;
|
|
version: string;
|
|
}
|
|
|
|
declare const jwplayer:JWPlayerStatic;
|