UNPKG

@byomakase/omakase-player

Version:

## Omakase Player - Open source JavaScript framework for building frame accurate video experiences

68 lines (67 loc) 4.99 kB
import { BehaviorSubject, Observable } from 'rxjs'; import { VideoApi } from '../api'; import { AudioLoadedEvent, AudioPeakProcessorMessageEvent, AudioSwitchedEvent, Destroyable, MainAudioChangeEvent, OmpAudioTrack, OmpNamedEventEventName, SidecarAudioChangeEvent, SidecarAudioCreateEvent, SidecarAudioPeakProcessorMessageEvent, SidecarAudioRemoveEvent, SubtitlesCreateEvent, SubtitlesEvent, SubtitlesLoadedEvent, SubtitlesVttTrack, ThumnbailVttUrlChangedEvent, VideoHelpMenuChangeEvent } from '../types'; import { VideoControllerConfig } from './video-controller'; import { AudioInputOutputNode, AudioMeterStandard, BufferedTimespan, OmpAudioRouterState, OmpMainAudioState, OmpSidecarAudioState, PlaybackState, Video, VideoLoadOptions, VideoLoadOptionsInternal } from './model'; import { OmpAudioRouter } from './audio-router'; import { SidecarAudioApi } from '../api/sidecar-audio-api'; /** * @internal */ export interface VideoControllerApi extends VideoApi, Destroyable { onAudioLoaded$: BehaviorSubject<AudioLoadedEvent | undefined>; onAudioSwitched$: Observable<AudioSwitchedEvent>; onSubtitlesLoaded$: BehaviorSubject<SubtitlesLoadedEvent | undefined>; onPlaybackState$: Observable<PlaybackState>; onSubtitlesCreate$: Observable<SubtitlesCreateEvent>; onSubtitlesRemove$: Observable<SubtitlesEvent>; onSubtitlesShow$: Observable<SubtitlesEvent>; onSubtitlesHide$: Observable<SubtitlesEvent>; onHelpMenuChange$: Observable<VideoHelpMenuChangeEvent>; onThumbnailVttUrlChanged$: Observable<ThumnbailVttUrlChangedEvent>; onActiveNamedEventStreamsChange$: Observable<OmpNamedEventEventName[]>; loadVideoInternal(sourceUrl: string, frameRate: number | string, options: VideoLoadOptions | undefined, optionsInternal: VideoLoadOptionsInternal): Observable<Video>; getConfig(): VideoControllerConfig; getPlaybackState(): PlaybackState | undefined; getBufferedTimespans(): BufferedTimespan[]; createSubtitlesVttTrack(subtitlesVttTrack: SubtitlesVttTrack): Observable<SubtitlesVttTrack | undefined>; removeSubtitlesTrack(id: string): Observable<void>; removeAllSubtitlesTracks(): Observable<void>; getSubtitlesTracks(): SubtitlesVttTrack[]; getActiveSubtitlesTrack(): SubtitlesVttTrack | undefined; showSubtitlesTrack(id: string): Observable<void>; hideSubtitlesTrack(id: string): Observable<void>; getAudioContext(): AudioContext; onMainAudioChange$: Observable<MainAudioChangeEvent | undefined>; onMainAudioPeakProcessorMessage$: Observable<AudioPeakProcessorMessageEvent>; getMainAudioSourceNode(): AudioNode; getMainAudioState(): OmpMainAudioState | undefined; getMainAudioRouter(): OmpAudioRouter | undefined; createMainAudioRouter(inputsNumber: number, outputsNumber?: number): Observable<OmpAudioRouterState>; createMainAudioRouterWithOutputsResolver(inputsNumber: number, outputsNumberResolver: (maxChannelCount: number) => number): Observable<OmpAudioRouterState>; createMainAudioPeakProcessor(audioMeterStandard?: AudioMeterStandard): Observable<Observable<AudioPeakProcessorMessageEvent>>; routeMainAudioRouterNodes(newAudioInputOutputNodes: AudioInputOutputNode[]): Observable<void>; onSidecarAudioCreate$: Observable<SidecarAudioCreateEvent>; onSidecarAudioRemove$: Observable<SidecarAudioRemoveEvent>; onSidecarAudioChange$: Observable<SidecarAudioChangeEvent>; onSidecarAudioPeakProcessorMessage$: Observable<SidecarAudioPeakProcessorMessageEvent>; getSidecarAudios(): SidecarAudioApi[]; getSidecarAudio(id: string): SidecarAudioApi | undefined; getSidecarAudioStates(): OmpSidecarAudioState[]; createSidecarAudioTrack(track: Partial<OmpAudioTrack>): Observable<OmpAudioTrack>; createSidecarAudioTracks(tracks: Partial<OmpAudioTrack>[]): Observable<OmpAudioTrack[]>; removeSidecarAudioTracks(ids: string[]): Observable<void>; removeAllSidecarAudioTracks(): Observable<void>; getSidecarAudioTracks(): OmpAudioTrack[]; getActiveSidecarAudioTracks(): OmpAudioTrack[]; activateSidecarAudioTracks(ids: string[], deactivateOthers: boolean | undefined): Observable<void>; deactivateSidecarAudioTracks(ids: string[]): Observable<void>; createSidecarAudioRouter(sidecarAudioTrackId: string, inputsNumber?: number, outputsNumber?: number): Observable<OmpAudioRouterState>; routeSidecarAudioRouterNodes(sidecarAudioTrackId: string, newAudioInputOutputNodes: AudioInputOutputNode[]): Observable<void>; createSidecarAudioPeakProcessor(sidecarAudioTrackId: string, audioMeterStandard?: AudioMeterStandard): Observable<Observable<AudioPeakProcessorMessageEvent>>; exportMainAudioTrackToSidecar(mainAudioTrackId: string): Observable<OmpAudioTrack>; exportMainAudioTracksToSidecar(mainAudioTrackIds: string[]): Observable<OmpAudioTrack[]>; getThumbnailVttUrl(): string | undefined; loadThumbnailVttUrl(thumbnailVttUrl: string): Observable<void>; isPiPSupported(): boolean; }