UNPKG

@ux-aspects/ux-aspects

Version:

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

79 lines (78 loc) 5.01 kB
import { AfterViewInit, OnDestroy } from '@angular/core'; import { Observable } from 'rxjs'; import { AudioMetadata } from '../../services/audio/index'; import { MediaPlayerService } from './media-player.service'; import * as i0 from "@angular/core"; export declare class MediaPlayerComponent implements AfterViewInit, OnDestroy { readonly mediaPlayerService: MediaPlayerService; private readonly _audioService; private readonly _elementRef; private readonly _playerRef; hovering: boolean; focused: boolean; audioMetadata: Observable<AudioMetadata>; /** The `anonymous` keyword means that there will be no exchange of user credentials when the media source is fetched. */ crossorigin: 'use-credentials' | 'anonymous'; /** Overwrite the filename displayed in the audio media player */ filename: string; get source(): string; /** The url to the media file to be loaded by the media player. */ set source(value: string); get type(): MediaPlayerType; /** * Defines the appearance of the media player. The two possible values are `video` and `audio`. * The media player will adapt it's appearance to best suit the type specified. */ set type(value: MediaPlayerType); get quietMode(): boolean; /** * If enabled, the controls in the media player will be hidden unless the mouse is over the player and will appear in a darker style. * Dark mode is automatically enabled in full screen mode. Quiet mode is only available for videos. */ set quietMode(value: boolean); /** * If specified the function will be called passing the current volume as an argument. * It should return an appropriate aria-label for the mute/unmute button. */ set muteAriaLabel(fn: (volume: number) => string); /** * If specified the function will be called passing the current playing state as an argument. * It should return an appropriate aria-label for the play/pause button. */ set playAriaLabel(fn: (isPlaying: boolean) => string); /** * If specified the function will be called passing the current fullscreen state as an argument. * It should return an appropriate aria-label for the fullscreen toggle button. */ set fullscreenAriaLabel(fn: (isFullscreen: boolean) => string); /** * If specified the function will be called passing the current track as an argument. * It should return an appropriate aria-label for the subtitle selection button. */ set selectSubtitlesAriaLabel(fn: (track: string) => string); /** Defines an aria-label for the go to start button. */ set goToStartAriaLabel(ariaLabel: string); /** Defines an aria-label for the go to end button. */ set goToEndAriaLabel(ariaLabel: string); /** Defines an aria-label for the title displayed in the subtitle selection popover. */ set subtitlesTitleAriaLabel(ariaLabel: string); /** Defines an aria-label to indicate subtitle are not currently enabled. */ set subtitlesOffAriaLabel(ariaLabel: string); /** Define an aria-label to indicate there are no subtitles available. */ set noSubtitlesAriaLabel(ariaLabel: string); /** Define an aria-label for the media player. */ set mediaPlayerAriaLabel(ariaLabel: string); /** Define an aria-label for the the seek element. */ set seekAriaLabel(ariaLabel: string); private readonly _onDestroy; constructor(); ngAfterViewInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<MediaPlayerComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<MediaPlayerComponent, "ux-media-player", never, { "crossorigin": { "alias": "crossorigin"; "required": false; }; "filename": { "alias": "filename"; "required": false; }; "source": { "alias": "source"; "required": false; }; "type": { "alias": "type"; "required": false; }; "quietMode": { "alias": "quietMode"; "required": false; }; "muteAriaLabel": { "alias": "muteAriaLabel"; "required": false; }; "playAriaLabel": { "alias": "playAriaLabel"; "required": false; }; "fullscreenAriaLabel": { "alias": "fullscreenAriaLabel"; "required": false; }; "selectSubtitlesAriaLabel": { "alias": "selectSubtitlesAriaLabel"; "required": false; }; "goToStartAriaLabel": { "alias": "goToStartAriaLabel"; "required": false; }; "goToEndAriaLabel": { "alias": "goToEndAriaLabel"; "required": false; }; "subtitlesTitleAriaLabel": { "alias": "subtitlesTitleAriaLabel"; "required": false; }; "subtitlesOffAriaLabel": { "alias": "subtitlesOffAriaLabel"; "required": false; }; "noSubtitlesAriaLabel": { "alias": "noSubtitlesAriaLabel"; "required": false; }; "mediaPlayerAriaLabel": { "alias": "mediaPlayerAriaLabel"; "required": false; }; "seekAriaLabel": { "alias": "seekAriaLabel"; "required": false; }; }, {}, never, ["track", "[uxMediaPlayerCustomControl]"], false, never>; } export type MediaPlayerType = 'video' | 'audio'; export interface MediaPlayerBuffer { start: number; end: number; }