UNPKG

@ux-aspects/ux-aspects

Version:

Open source user interface framework for building modern, responsive, mobile big data applications

142 lines (141 loc) 4.71 kB
import { BehaviorSubject, Observable, ReplaySubject, Subject } from 'rxjs'; import { ExtractedFrame } from '../../services/frame-extraction/index'; import type { MediaPlayerType } from './media-player.component'; import * as i0 from "@angular/core"; export declare class MediaPlayerService { private readonly _frameExtractionService; source: string; type: MediaPlayerType; loaded: boolean; /** Aria Labels */ muteAriaLabel: (volume: number) => string; playAriaLabel: (isPlaying: boolean) => string; fullscreenAriaLabel: (isFullscreen: boolean) => string; selectSubtitlesAriaLabel: (track: string) => string; goToStartAriaLabel: string; goToEndAriaLabel: string; subtitlesTitleAriaLabel: string; subtitlesOffAriaLabel: string; noSubtitlesAriaLabel: string; mediaPlayerAriaLabel: string; seekAriaLabel: string; playing: BehaviorSubject<boolean>; initEvent: ReplaySubject<boolean>; abortEvent: Subject<void>; canPlayEvent: BehaviorSubject<boolean>; canPlayThroughEvent: BehaviorSubject<boolean>; durationChangeEvent: Subject<number>; endedEvent: Subject<void>; errorEvent: Subject<void>; loadedDataEvent: Subject<void>; loadedMetadataEvent: Subject<void>; loadStartEvent: Subject<void>; pauseEvent: Subject<void>; playEvent: Subject<void>; playingEvent: Subject<boolean>; rateChangeEvent: Subject<number>; seekedEvent: Subject<number>; seekingEvent: Subject<number>; stalledEvent: Subject<void>; suspendEvent: Subject<void>; timeUpdateEvent: Subject<number>; volumeChangeEvent: Subject<number>; waitingEvent: Subject<void>; mediaClickEvent: Subject<MouseEvent>; fullscreenEvent: BehaviorSubject<boolean>; quietModeEvent: BehaviorSubject<boolean>; progressEvent: Observable<TimeRanges>; private _mediaPlayer; private _hostElement; private _fullscreen; private _quietMode; get mediaPlayer(): HTMLMediaElement; get quietMode(): boolean; set quietMode(value: boolean); get mediaPlayerWidth(): number; get mediaPlayerHeight(): number; get autoplay(): boolean; set autoplay(value: boolean); get buffered(): TimeRanges; get crossOrigin(): string; set crossOrigin(value: string); get currentSrc(): string; get currentTime(): number; set currentTime(value: number); get defaultMuted(): boolean; set defaultMuted(value: boolean); get defaultPlaybackRate(): number; set defaultPlaybackRate(value: number); get duration(): number; get ended(): boolean; get loop(): boolean; set loop(value: boolean); get muted(): boolean; set muted(value: boolean); get networkState(): number; get paused(): boolean; get playbackRate(): number; set playbackRate(value: number); get played(): TimeRanges; get preload(): '' | 'auto' | 'metadata' | 'none'; set preload(value: '' | 'auto' | 'metadata' | 'none'); get readyState(): number; get seekable(): TimeRanges; get seeking(): boolean; get src(): string; set src(value: string); get textTracks(): Array<TextTrack>; get volume(): number; set volume(value: number); get fullscreen(): boolean; set fullscreen(value: boolean); setMediaPlayer(hostElement: HTMLElement, mediaPlayer: HTMLMediaElement): void; /** * Toggle playing state */ togglePlay(): void; /** * Starts playing the audio/video */ play(): void; /** * Pauses the currently playing audio/video */ pause(): void; /** * Re-loads the audio/video element */ load(): void; /** * Checks if the browser can play the specified audio/video type */ canPlayType(type: string): string; /** * Adds a new text track to the audio/video */ addTextTrack(kind: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata', label: string, language: string): TextTrack; /** * Attempt to display media in fullscreen mode */ requestFullscreen(): void; /** * Exit full screen mode */ exitFullscreen(): void; /** * Toggle Fullscreen State */ toggleFullscreen(): void; fullscreenChange(): void; /** * Extract the frames from the video */ getFrames(width: number, height: number): Observable<ExtractedFrame>; hideSubtitleTracks(): void; private getMuteAriaLabel; private getPlayAriaLabel; private getFullscreenAriaLabel; private getSubtitlesAriaLabel; static ɵfac: i0.ɵɵFactoryDeclaration<MediaPlayerService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<MediaPlayerService>; }