ng-plyr
Version:
An HTML5 media player for developers, built using Angular, having interface similar to Youtube player.
108 lines (107 loc) • 4.25 kB
TypeScript
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnInit, OnDestroy, SimpleChanges, ChangeDetectorRef } from '@angular/core';
import { Media, MediaType } from './models/media.model';
import { Playlist } from './models/playlist.model';
import { PlayerService } from './services/ng-plyr.service';
import { CastService } from './services/cast.service';
import * as i0 from "@angular/core";
export declare class NgPlyrComponent implements AfterViewInit, OnChanges, OnInit, OnDestroy {
private document;
private _plyrService;
private _castService;
private _cd;
isPlaying: boolean;
isMuted: boolean;
isFullscreen: boolean;
isPIP: boolean;
isCasting: boolean;
isLoopingEnabled: boolean;
isControlSettingsOpen: boolean;
isMenuSettingsOpen: boolean;
seekStepInSec: number;
playerVolume: number;
currentTime: string;
totalTime: string;
progressPercent: number;
mediaBuffers: Array<{
start: number;
end: number;
}>;
isMediaLoading: boolean;
media: Media;
prevMedia?: Media;
nextMedia?: Media;
playlist: Playlist;
playingTrack: number;
mediaMarkers: [];
inpChanges?: SimpleChanges;
mediaURL: string;
mediaType?: MediaType;
preload: string;
playFrom?: number;
loadingImgSrc?: string;
captions?: Array<{
path: string;
lang: string;
}>;
bookmarks?: Array<number>;
volume?: number;
loopMedia?: boolean;
isAutoplayEnabled?: boolean;
nextMediaToAdd?: Media;
mediaItems?: Media[];
loopPlaylist?: boolean;
posterUrl?: string;
enableControls: boolean;
playing: EventEmitter<boolean>;
paused: EventEmitter<boolean>;
ended: EventEmitter<boolean>;
onprev: EventEmitter<Media>;
onnext: EventEmitter<Media>;
fullscreen: EventEmitter<boolean>;
volumechange: EventEmitter<object>;
videoContainer: ElementRef;
video: ElementRef;
constructor(document: any, _plyrService: PlayerService, _castService: CastService, _cd: ChangeDetectorRef);
ngOnChanges(changes: SimpleChanges): void;
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
resetPlayer(): void;
changeMedia(media?: Media): void;
createPlaylist(mediaItems: Media[]): void;
onNextMediaInput(): void;
onPlay(event: Event): void;
onPause(event: Event): void;
onEnd(event?: Event): void;
onVolumeChange(event: Event): void;
onError(event: Event): void;
doShortcutKeyAction(event: KeyboardEvent): void;
changeVolume(value: any): void;
updateAfterVideoInfoLoaded(): void;
showBuffers(): void;
seekTo(atSecond: number | string): void;
seekAfterTimeout(direction: string): void;
bwdClickCount: number;
bwdClickTimeout: number;
seekBwd(e: MouseEvent | PointerEvent): void;
fwdClickCount: number;
fwdClickTimeout: number;
seekFwd(e: MouseEvent | PointerEvent): void;
updateCurrentTime(): void;
playPrevMedia(): void;
playNextMedia(): void;
stopVideo(): void;
setPlaybackSpeed(rate: number): void;
castToChromecast(): void;
enableCastingMode(): void;
endCurrentSession(stopCasting: boolean): void;
listenToPlayerEvents(): void;
formatDuration(time: any): string;
toggleLoop(): void;
togglePlay(): void;
toggleMute(): void;
togglePIP(): void;
toggleFullscreen(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<NgPlyrComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NgPlyrComponent, "ng-plyr", never, { "mediaURL": "src"; "mediaType": "type"; "preload": "preload"; "playFrom": "playFrom"; "loadingImgSrc": "loadingImgSrc"; "captions": "captions"; "bookmarks": "bookmarks"; "volume": "volume"; "loopMedia": "loop"; "isAutoplayEnabled": "autoplay"; "nextMediaToAdd": "nextMedia"; "mediaItems": "playlist"; "loopPlaylist": "loopPlaylist"; "posterUrl": "poster"; "enableControls": "controls"; }, { "playing": "playing"; "paused": "paused"; "ended": "ended"; "onprev": "onprev"; "onnext": "onnext"; "fullscreen": "fullscreen"; "volumechange": "volumechange"; }, never, never, false>;
}