ngx-video-list-player
Version:
A simple Angular video player with video list. No dependecies. Only custom controls, css, ts and svgs. Youtube support
116 lines (115 loc) • 4.52 kB
TypeScript
/// <reference types="youtube" />
import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, OnInit, QueryList, Renderer2 } from '@angular/core';
import { IVideoConfig, IVideoSource } from '../Models/ngx-video-list-player.config';
import { IExtendedVideoSubtitle } from '../Models/custom.config';
import { BreakpointObserver } from '@angular/cdk/layout';
import { EventEmitter } from '@angular/core';
import * as i0 from "@angular/core";
export declare class NgxVideoListPlayerComponent implements AfterViewInit, OnInit, OnDestroy {
private renderer;
private breakpointObserver;
private changeDetectorRef;
videoElement: HTMLVideoElement;
private mediaControlElement;
actualVideo: IVideoSource;
video: ElementRef;
videoSource: ElementRef;
progressContainer: ElementRef;
progressContainerHover: ElementRef;
fromPauseToPlay: QueryList<ElementRef>;
fromPlayToPause: QueryList<ElementRef>;
mediaPlayer: ElementRef;
mediaControlContainer: ElementRef;
meterContainer: ElementRef;
progressSlider: ElementRef;
videoTitleContainer: ElementRef;
dropUpContent: ElementRef;
videoListContainer: ElementRef;
videoListElements: QueryList<ElementRef>;
mobileDeviceMainPprContainer: ElementRef;
subtitleModal: ElementRef;
youtubePlayer: YT.Player;
config: IVideoConfig;
onTimeUpdate: EventEmitter<any>;
onCanPlay: EventEmitter<any>;
onLoadedMetadata: EventEmitter<any>;
private visibleMobileDeviceMainPprContainer;
private disableControlHide;
private displayControlsTimeout;
private countDownCircleTimeout;
private youtubeCurrentTimeInterval;
private mediaPlayerIsFocused;
private actualVideoIndex;
private firstSourceLoad;
private firstVideoLoad;
private pauseKeyboardCodes;
subtitles: IExtendedVideoSubtitle[];
videoName: string;
currentTime: string;
duration: string;
isFullScreen: boolean;
volumePercent: number;
muted: boolean;
progressSliderMaxValue: number;
progressSliderValue: number;
pipIsActive: boolean;
supportPictureInPicture: boolean;
supportFullScreen: boolean;
canPlay?: boolean;
videoType: string;
actualSubtitleId: string;
isMobileDevice: boolean;
youtubeIsPaused: boolean;
youtubeIsEnded: boolean;
isSafariBrowser: boolean;
constructor(renderer: Renderer2, breakpointObserver: BreakpointObserver, changeDetectorRef: ChangeDetectorRef);
ngOnInit(): void;
ngAfterViewInit(): void;
videoEventHandler(ev: Event): void;
private videoLoadErrorHandling;
private canPlayEvent;
private endEvent;
pipEnter(): Promise<void>;
pipExit(): Promise<void>;
private playEvent;
private pauseEvent;
private clearMobileDeviceMainPprContainerStyles;
playPause(): void;
fullScreen(): void;
exitFullScreen(): void;
isNextVideo(): boolean;
next(): void;
prev(): void;
private loadMetadataEvent;
private timeUpdateEvent;
private onReadyYoutubeVideo;
private onStateChangeYoutubeVideo;
private loadVideo;
private clearYoutubeCurrentTimeInterval;
private clearCountDownCircleTimeout;
mute(): void;
setVolume(event: Event): void;
private setVolumeValue;
private setVideoIndexCookie;
progressHelperMouseMove(event: any): void;
mediaPlayerMouseMove(): void;
mediaPlayerMouseLeave(): void;
mediaPlayerFocus(): void;
mediaPlayerFocusOut(): void;
handleDocumentKeyboardEvent(event: KeyboardEvent): void;
handleDocumentClickEvent(event: MouseEvent): void;
handleDocumentResizeEvent(event: MouseEvent): void;
private resizeVideoListContainer;
mediaControlContainerMouseEnter(): void;
mediaControlContainerMouseLeave(): void;
setProgressSlider(value: any): void;
progressThumbMouseMove(event: MouseEvent): void;
progressThumbMouseLeave(): void;
openSubtitles(instantHide?: boolean): void;
setSubtitle(id: string): void;
videoClickEvent(): void;
emptyVoid(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxVideoListPlayerComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NgxVideoListPlayerComponent, "ngx-video-list-player", never, { "config": "config"; }, { "onTimeUpdate": "onTimeUpdate"; "onCanPlay": "onCanPlay"; "onLoadedMetadata": "onLoadedMetadata"; }, never, never>;
}