@byomakase/omakase-player
Version:
## Omakase Player - Open source JavaScript framework for building frame accurate video experiences
81 lines (80 loc) • 2.79 kB
TypeScript
import { Api } from './api';
import { TimelineConfig } from '../timeline';
import { Observable } from 'rxjs';
import { SubtitlesApi } from './subtitles-api';
import { VideoApi } from './video-api';
import { AudioApi } from './audio-api';
import { TimelineApi } from './timeline-api';
import { Video, VideoLoadOptions } from '../video';
import { AlertsApi } from './alerts-api';
import { MarkerListConfig } from '../marker-list/marker-list';
import { MarkerListApi } from './marker-list-api';
import { ConfigWithOptionalStyle } from '../layout';
import { AuthenticationData } from '../authentication/model';
import { RouterVisualizationConfig } from '../router-visualization/router-visualization';
import { RouterVisualizationApi } from './router-visualization-api';
export interface OmakasePlayerApi extends Api {
/**
* Loads new video
* @param videoSourceUrl Video manifest URL
* @param frameRate Video frame rate
*/
loadVideo(videoSourceUrl: string, frameRate: number | string): Observable<Video>;
/**
* Loads new video
*
* @param videoSourceUrl Video manifest URL
* @param frameRate Video frame rate
* @param options
*/
loadVideo(videoSourceUrl: string, frameRate: number | string, options?: VideoLoadOptions): Observable<Video>;
/**
* Creates Timeline
* @param config Timeline configuration
*/
createTimeline(config: Partial<ConfigWithOptionalStyle<TimelineConfig>>): Observable<TimelineApi>;
/**
* Creates Marker List
* @param config Marker List configuration
*/
createMarkerList(config: MarkerListConfig): Observable<MarkerListApi>;
/**
* Initializes Router Visualization component
* @param config Router Visualization configuration
*/
initializeRouterVisualization(config: RouterVisualizationConfig): RouterVisualizationApi;
/**
* Set authentication for HLS.js, VTT and thumbnail image requests
* @param authentication Basic authentication, Bearer token authentication or custom authentication function
*/
setAuthentication(authentication: AuthenticationData): void;
/**
* Set thumbnail vtt url for media chrome thumbnail preview
* @param thumbnailVttUrl Thumbnail Vtt Url
*/
setThumbnailVttUrl(thumbnailVttUrl: string): void;
/**
* @returns Timeline API
*/
get timeline(): TimelineApi | undefined;
/**
* @returns Video API
*/
get video(): VideoApi;
/**
* @returns Audio API
*/
get audio(): AudioApi;
/**
* @returns Subtitles API
*/
get subtitles(): SubtitlesApi;
/**
* @returns Alerts API
*/
get alerts(): AlertsApi;
/**
* Destroys OmakasePlayer instance and frees up memory
*/
destroy(): void;
}