@byomakase/omakase-player
Version:
## Omakase Player - Open source JavaScript framework for building frame accurate video experiences
36 lines (35 loc) • 2.02 kB
TypeScript
import { Observable } from 'rxjs';
import { Destroyable, OmakaseTextTrack, VideoFullscreenChangeEvent, VideoSafeZoneChangeEvent } from '../types';
import { VideoKeyframe, VideoKeyframeOptions, MarkerTrackConfig, VideoSafeZone } from './model';
import { VideoControllerApi } from './video-controller-api';
import { MarkerTrackApi } from '../api';
import { TimeRangeMarkerTrackApi } from '../api/time-range-marker-track-api';
import { PlayerChroming } from '../player-chroming';
import { PlayerChromingDomControllerApi } from '../player-chroming/player-chroming-dom-controller-api';
export interface VideoDomControllerApi extends Destroyable {
get playerChromingDomController(): PlayerChromingDomControllerApi;
attachVideoController(videoController: VideoControllerApi): void;
onFullscreenChange$: Observable<VideoFullscreenChangeEvent>;
onVideoSafeZoneChange$: Observable<VideoSafeZoneChangeEvent>;
getVideoElement(): HTMLVideoElement;
isFullscreen(): boolean;
toggleFullscreen(): Observable<void>;
addSafeZone(videoSafeZone: VideoSafeZone): Observable<VideoSafeZone>;
removeSafeZone(id: string): Observable<void>;
clearSafeZones(): Observable<void>;
getSafeZones(): VideoSafeZone[];
appendHTMLTrackElement(omakaseTextTrack: OmakaseTextTrack): Observable<HTMLTrackElement | undefined>;
getTextTrackList(): TextTrackList;
getTextTrackById(id: string): TextTrack | undefined;
removeTextTrackById(id: string): boolean;
loadThumbnailVtt(thumbnailVttUrl: string): void;
isPiPSupported(): boolean;
createMarkerTrack(config: MarkerTrackConfig): MarkerTrackApi;
getProgressMarkerTrack(): TimeRangeMarkerTrackApi | undefined;
setWatermark(watermark: string): void;
getPlayerChromingElement<T>(querySelector: string): T;
isCompactAudioTheme(): boolean;
useMediaCaptions(): boolean;
updateChromingTemplate(playerChroming: PlayerChroming): void;
extractVideoKeyframe(options?: VideoKeyframeOptions): Observable<VideoKeyframe>;
}