playable
Version:
Video player based on HTML5Video
60 lines (59 loc) • 1.93 kB
TypeScript
import { CrossOriginValue, IVideoOutput, PlayableMediaSource, PreloadType } from '../../types';
import { EngineState } from '../../../../constants';
import { IEventEmitter } from '../../../event-emitter/types';
import { IChromecastDebugInfo } from './types';
export default class ChromecastOutput implements IVideoOutput {
type: string;
private _playerController;
private _player;
private _stateEngine;
private _eventEmitter;
private _src;
private _isAutoplay;
constructor(eventEmitter: IEventEmitter);
play(): Promise<void>;
pause(): void;
setMute(mute: boolean): void;
setAutoplay(isAutoplay: boolean): void;
setInline(): void;
setCrossOrigin(): void;
setCurrentTime(time: number): void;
setVolume(volume: number): void;
setLoop(): void;
setPlaybackRate(): void;
setPreload(): void;
setSrc(source: PlayableMediaSource, callback?: Function): void;
private _initRemote;
getElement(): null;
getDebugInfo(): IChromecastDebugInfo;
get volume(): number;
get currentTime(): number;
get duration(): number;
get autoplay(): boolean;
get crossOrigin(): CrossOriginValue;
get playbackRate(): number;
get buffered(): {
end: () => number;
start: () => number;
length: number;
};
get preload(): PreloadType;
get isPaused(): boolean;
get isMuted(): boolean;
get isEnded(): boolean;
get isInline(): boolean;
get isAutoplay(): boolean;
get isSeekAvailable(): boolean;
get isLoop(): boolean;
get isPreloadActive(): boolean;
get videoHeight(): number;
get videoWidth(): number;
get src(): string;
get currentState(): EngineState;
get isAutoPlayActive(): boolean;
get isDynamicContent(): boolean;
get isDynamicContentEnded(): boolean;
get isMetadataLoaded(): boolean;
get isSyncWithLive(): boolean;
syncWithLive(): void;
}