@byomakase/omakase-player
    Preparing search index...

    Interface VideoControllerApiInternal

    interface VideoControllerApi {
        onActiveNamedEventStreamsChange$: Observable<OmpNamedEventEventName[]>;
        onAudioLoaded$: BehaviorSubject<undefined | AudioLoadedEvent>;
        onAudioOutputVolumeChange$: Observable<VolumeChangeEvent>;
        onAudioSwitched$: Observable<AudioSwitchedEvent>;
        onBuffering$: Observable<VideoBufferingEvent>;
        onEnded$: Observable<VideoEndedEvent>;
        onFullscreenChange$: Observable<VideoFullscreenChangeEvent>;
        onHelpMenuChange$: Observable<VideoHelpMenuChangeEvent>;
        onMainAudioChange$: Observable<undefined | MainAudioChangeEvent>;
        onMainAudioInputSoloMute$: Observable<
            undefined
            | MainAudioInputSoloMuteEvent,
        >;
        onMainAudioPeakProcessorMessage$: Observable<
            AudioPeakProcessorMessageEvent,
        >;
        onNamedEvent$: Observable<OmpNamedEvent>;
        onPause$: Observable<VideoPlayEvent>;
        onPlay$: Observable<VideoPlayEvent>;
        onPlaybackRateChange$: Observable<VideoPlaybackRateEvent>;
        onPlaybackState$: Observable<PlaybackState>;
        onSeeked$: Observable<VideoSeekedEvent>;
        onSeeking$: Observable<VideoSeekingEvent>;
        onSidecarAudioChange$: Observable<SidecarAudioChangeEvent>;
        onSidecarAudioCreate$: Observable<SidecarAudioCreateEvent>;
        onSidecarAudioInputSoloMute$: Observable<SidecarAudioInputSoloMuteEvent>;
        onSidecarAudioPeakProcessorMessage$: Observable<
            SidecarAudioPeakProcessorMessageEvent,
        >;
        onSidecarAudioRemove$: Observable<SidecarAudioRemoveEvent>;
        onSidecarAudioVolumeChange$: Observable<SidecarAudioVolumeChangeEvent>;
        onSubtitlesCreate$: Observable<SubtitlesCreateEvent>;
        onSubtitlesHide$: Observable<SubtitlesEvent>;
        onSubtitlesLoaded$: BehaviorSubject<undefined | SubtitlesLoadedEvent>;
        onSubtitlesRemove$: Observable<SubtitlesEvent>;
        onSubtitlesShow$: Observable<SubtitlesEvent>;
        onThumbnailVttUrlChanged$: Observable<ThumnbailVttUrlChangedEvent>;
        onVideoError$: Observable<VideoErrorEvent>;
        onVideoLoaded$: Observable<undefined | VideoLoadedEvent>;
        onVideoLoading$: Observable<VideoLoadingEvent>;
        onVideoSafeZoneChange$: Observable<VideoSafeZoneChangeEvent>;
        onVideoTimeChange$: Observable<VideoTimeChangeEvent>;
        onVideoWindowPlaybackStateChange$: Observable<
            VideoWindowPlaybackStateChangeEvent,
        >;
        onVolumeChange$: Observable<VolumeChangeEvent>;
        activateSidecarAudioTracks(
            ids: undefined | string[],
            deactivateOthers: undefined | boolean,
        ): Observable<void>;
        addSafeZone(videoSafeZone: VideoSafeZone): Observable<VideoSafeZone>;
        appendHelpMenuGroup(helpMenuGroup: HelpMenuGroup): Observable<void>;
        attachVideoWindow(): Observable<void>;
        calculateFrameToTime(frameNumber: number): number;
        calculateTimeToFrame(time: number): number;
        canAttach(): boolean;
        canDetach(): boolean;
        clearHelpMenuGroups(): Observable<void>;
        clearSafeZones(): Observable<void>;
        createMainAudioPeakProcessor(
            audioMeterStandard?: AudioMeterStandard,
        ): Observable<Observable<AudioPeakProcessorMessageEvent>>;
        createMainAudioRouter(
            inputsNumber: number,
            outputsNumber?: number,
            defaultMatrix?: OmpAudioRoutingConnection[][],
        ): Observable<OmpAudioRouterState>;
        createMainAudioRouterWithOutputsResolver(
            inputsNumber: number,
            outputsNumberResolver: (maxChannelCount: number) => number,
            defaultMatrix?: OmpAudioRoutingConnection[][],
        ): Observable<OmpAudioRouterState>;
        createSidecarAudioPeakProcessor(
            sidecarAudioTrackId: string,
            audioMeterStandard?: AudioMeterStandard,
        ): Observable<Observable<AudioPeakProcessorMessageEvent>>;
        createSidecarAudioRouter(
            sidecarAudioTrackId: string,
            inputsNumber?: number,
            outputsNumber?: number,
            defaultMatrix?: OmpAudioRoutingConnection[][],
        ): Observable<OmpAudioRouterState>;
        createSidecarAudioTrack(
            track: Partial<OmpAudioTrack>,
        ): Observable<OmpAudioTrack>;
        createSidecarAudioTracks(
            tracks: Partial<OmpAudioTrack>[],
        ): Observable<OmpAudioTrack[]>;
        createSubtitlesVttTrack(
            subtitlesVttTrack: SubtitlesVttTrack,
        ): Observable<undefined | SubtitlesVttTrack>;
        deactivateSidecarAudioTracks(ids: undefined | string[]): Observable<void>;
        destroy(): void;
        detachVideoWindow(): Observable<void>;
        disablePiP(): Observable<void>;
        enablePiP(): Observable<void>;
        exportMainAudioTracksToSidecar(
            mainAudioTrackIds: string[],
        ): Observable<OmpAudioTrack[]>;
        exportMainAudioTrackToSidecar(
            mainAudioTrackId: string,
        ): Observable<OmpAudioTrack>;
        formatToTimecode(time: number): string;
        getActiveAudioTrack(): undefined | OmpAudioTrack;
        getActiveNamedEventStreams(): OmpNamedEventEventName[];
        getActiveSidecarAudioTracks(): OmpAudioTrack[];
        getActiveSubtitlesTrack(): undefined | SubtitlesVttTrack;
        getAudioContext(): AudioContext;
        getAudioOutputNode(): AudioNode;
        getAudioOutputVolume(): number;
        getAudioTracks(): OmpAudioTrack[];
        getBufferedTimespans(): BufferedTimespan[];
        getConfig(): VideoControllerConfig;
        getCurrentFrame(): number;
        getCurrentTime(): number;
        getCurrentTimecode(): string;
        getDuration(): number;
        getFrameRate(): number;
        getHelpMenuGroups(): HelpMenuGroup[];
        getHls(): undefined | Hls;
        getHTMLVideoElement(): HTMLVideoElement;
        getMainAudioInputSoloMuteState(): | undefined
        | OmpMainAudioInputSoloMuteState;
        getMainAudioNode(): AudioNode;
        getMainAudioRouter(): undefined | OmpAudioRouter;
        getMainAudioRouterInitialRoutingConnections(): | undefined
        | OmpAudioRoutingConnection[];
        getMainAudioState(): undefined | OmpMainAudioState;
        getPlaybackRate(): number;
        getPlaybackState(): undefined | PlaybackState;
        getSafeZones(): VideoSafeZone[];
        getSidecarAudio(id: string): undefined | SidecarAudioApi;
        getSidecarAudioInputSoloMuteState(
            id: string,
        ): undefined | OmpSidecarAudioInputSoloMuteState;
        getSidecarAudioInputSoloMuteStates(): OmpSidecarAudioInputSoloMuteState[];
        getSidecarAudioRouterInitialRoutingConnections(
            id: string,
        ): undefined | OmpAudioRoutingConnection[];
        getSidecarAudios(): SidecarAudioApi[];
        getSidecarAudioState(id: string): undefined | OmpSidecarAudioState;
        getSidecarAudioStates(): OmpSidecarAudioState[];
        getSidecarAudioTracks(): OmpAudioTrack[];
        getSubtitlesTracks(): SubtitlesVttTrack[];
        getThumbnailVttUrl(): undefined | string;
        getTotalFrames(): number;
        getVideo(): undefined | Video;
        getVideoLoadOptions(): undefined | VideoLoadOptions;
        getVideoWindowPlaybackState(): VideoWindowPlaybackState;
        getVolume(): number;
        hideSubtitlesTrack(id: string): Observable<void>;
        isAudioOutputMuted(): boolean;
        isDetachable(): boolean;
        isFullscreen(): boolean;
        isMuted(): boolean;
        isPaused(): boolean;
        isPiPSupported(): boolean;
        isPlaying(): boolean;
        isSeeking(): boolean;
        isVideoLoaded(): boolean;
        loadBlackVideo(): Observable<Video>;
        loadThumbnailVttUrl(thumbnailVttUrl: string): Observable<void>;
        loadVideo(sourceUrl: string): Observable<Video>;
        loadVideo(sourceUrl: string, options?: VideoLoadOptions): Observable<Video>;
        loadVideoInternal(
            sourceUrl: string,
            options: undefined | VideoLoadOptions,
            optionsInternal: VideoLoadOptionsInternal,
        ): Observable<Video>;
        mute(): Observable<void>;
        muteAudioOutput(): Observable<void>;
        muteSidecar(ids: undefined | string[]): Observable<void>;
        parseTimecodeToFrame(timecode: string): number;
        parseTimecodeToTime(timecode: string): number;
        pause(): Observable<void>;
        play(): Observable<void>;
        prependHelpMenuGroup(helpMenuGroup: HelpMenuGroup): Observable<void>;
        reloadVideo(): Observable<Video>;
        removeAllSidecarAudioTracks(): Observable<void>;
        removeAllSubtitlesTracks(): Observable<void>;
        removeMainAudioEffectsGraphs(
            routingPath?: Partial<OmpAudioRoutingPath>,
        ): Observable<void>;
        removeSafeZone(id: string): Observable<void>;
        removeSidecarAudioEffectsGraphs(
            sidecarAudioTrackId: string,
            routingPath?: Partial<OmpAudioRoutingPath>,
        ): Observable<void>;
        removeSidecarAudioTracks(ids: string[]): Observable<void>;
        removeSubtitlesTrack(id: string): Observable<void>;
        seekFromCurrentFrame(framesCount: number): Observable<boolean>;
        seekFromCurrentTime(timeAmount: number): Observable<boolean>;
        seekNextFrame(): Observable<boolean>;
        seekPreviousFrame(): Observable<boolean>;
        seekToEnd(): Observable<boolean>;
        seekToFrame(frame: number): Observable<boolean>;
        seekToPercent(percent: number): Observable<boolean>;
        seekToTime(time: number): Observable<boolean>;
        seekToTimecode(timecode: string): Observable<boolean>;
        setActiveAudioTrack(id: string): Observable<void>;
        setAudioOutputMuted(muted: boolean): Observable<void>;
        setAudioOutputVolume(volume: number): Observable<void>;
        setMainAudioEffectsGraphs(
            effectsGraphDef: OmpAudioEffectsGraphDef,
            routingPath?: Partial<OmpAudioRoutingPath>,
        ): Observable<void>;
        setMainAudioEffectsParams(
            param: OmpAudioEffectParam,
            filter?: { routingPath?: Partial<OmpAudioRoutingPath> } & OmpAudioEffectFilter,
        ): Observable<void>;
        setMainAudioRouterInitialRoutingConnections(
            connections: OmpAudioRoutingConnection[],
        ): Observable<void>;
        setPlaybackRate(playbackRate: number): Observable<void>;
        setSidecarAudioEffectsGraph(
            sidecarAudioTrackId: string,
            effectsGraphDef: OmpAudioEffectsGraphDef,
            routingPath?: Partial<OmpAudioRoutingPath>,
        ): Observable<void>;
        setSidecarAudioEffectsParams(
            sidecarAudioTrackId: string,
            param: OmpAudioEffectParam,
            filter?: { routingPath?: Partial<OmpAudioRoutingPath> } & OmpAudioEffectFilter,
        ): Observable<void>;
        setSidecarAudioRouterInitialRoutingConnections(
            id: string,
            connections: OmpAudioRoutingConnection[],
        ): Observable<void>;
        setSidecarMuted(
            muted: boolean,
            ids: undefined | string[],
        ): Observable<void>;
        setSidecarVolume(
            volume: number,
            ids: undefined | string[],
        ): Observable<void>;
        setVolume(volume: number): Observable<void>;
        showSubtitlesTrack(id: string): Observable<void>;
        toggleAudioOutputMuteUnmute(): Observable<void>;
        toggleFullscreen(): Observable<void>;
        toggleMainAudioRouterMute(
            routingPath: Omit<OmpAudioRoutingPath, "output">,
        ): Observable<void>;
        toggleMainAudioRouterSolo(
            routingPath: Omit<OmpAudioRoutingPath, "output">,
        ): Observable<void>;
        toggleMuteUnmute(): Observable<void>;
        togglePlayPause(): Observable<void>;
        toggleSidecarAudioRouterMute(
            sidecarAudioTrackId: string,
            routingPath: Omit<OmpAudioRoutingPath, "output">,
        ): Observable<void>;
        toggleSidecarAudioRouterSolo(
            sidecarAudioTrackId: string,
            routingPath: Omit<OmpAudioRoutingPath, "output">,
        ): Observable<void>;
        unmute(): Observable<void>;
        unmuteAudioOutput(): Observable<void>;
        unmuteSidecar(ids: undefined | string[]): Observable<void>;
        updateActiveNamedEventStreams(
            eventNames: OmpNamedEventEventName[],
        ): Observable<void>;
        updateMainAudioRouterConnections(
            connections: OmpAudioRoutingConnection[],
        ): Observable<void>;
        updateSidecarAudioRouterConnections(
            sidecarAudioTrackId: string,
            connections: OmpAudioRoutingConnection[],
        ): Observable<void>;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    Methods

    activateSidecarAudioTracks addSafeZone appendHelpMenuGroup attachVideoWindow calculateFrameToTime calculateTimeToFrame canAttach canDetach clearHelpMenuGroups clearSafeZones createMainAudioPeakProcessor createMainAudioRouter createMainAudioRouterWithOutputsResolver createSidecarAudioPeakProcessor createSidecarAudioRouter createSidecarAudioTrack createSidecarAudioTracks createSubtitlesVttTrack deactivateSidecarAudioTracks destroy detachVideoWindow disablePiP enablePiP exportMainAudioTracksToSidecar exportMainAudioTrackToSidecar formatToTimecode getActiveAudioTrack getActiveNamedEventStreams getActiveSidecarAudioTracks getActiveSubtitlesTrack getAudioContext getAudioOutputNode getAudioOutputVolume getAudioTracks getBufferedTimespans getConfig getCurrentFrame getCurrentTime getCurrentTimecode getDuration getFrameRate getHelpMenuGroups getHls getHTMLVideoElement getMainAudioInputSoloMuteState getMainAudioNode getMainAudioRouter getMainAudioRouterInitialRoutingConnections getMainAudioState getPlaybackRate getPlaybackState getSafeZones getSidecarAudio getSidecarAudioInputSoloMuteState getSidecarAudioInputSoloMuteStates getSidecarAudioRouterInitialRoutingConnections getSidecarAudios getSidecarAudioState getSidecarAudioStates getSidecarAudioTracks getSubtitlesTracks getThumbnailVttUrl getTotalFrames getVideo getVideoLoadOptions getVideoWindowPlaybackState getVolume hideSubtitlesTrack isAudioOutputMuted isDetachable isFullscreen isMuted isPaused isPiPSupported isPlaying isSeeking isVideoLoaded loadBlackVideo loadThumbnailVttUrl loadVideo loadVideoInternal mute muteAudioOutput muteSidecar parseTimecodeToFrame parseTimecodeToTime pause play prependHelpMenuGroup reloadVideo removeAllSidecarAudioTracks removeAllSubtitlesTracks removeMainAudioEffectsGraphs removeSafeZone removeSidecarAudioEffectsGraphs removeSidecarAudioTracks removeSubtitlesTrack seekFromCurrentFrame seekFromCurrentTime seekNextFrame seekPreviousFrame seekToEnd seekToFrame seekToPercent seekToTime seekToTimecode setActiveAudioTrack setAudioOutputMuted setAudioOutputVolume setMainAudioEffectsGraphs setMainAudioEffectsParams setMainAudioRouterInitialRoutingConnections setPlaybackRate setSidecarAudioEffectsGraph setSidecarAudioEffectsParams setSidecarAudioRouterInitialRoutingConnections setSidecarMuted setSidecarVolume setVolume showSubtitlesTrack toggleAudioOutputMuteUnmute toggleFullscreen toggleMainAudioRouterMute toggleMainAudioRouterSolo toggleMuteUnmute togglePlayPause toggleSidecarAudioRouterMute toggleSidecarAudioRouterSolo unmute unmuteAudioOutput unmuteSidecar updateActiveNamedEventStreams updateMainAudioRouterConnections updateSidecarAudioRouterConnections

    Properties

    onActiveNamedEventStreamsChange$: Observable<OmpNamedEventEventName[]>
    onAudioLoaded$: BehaviorSubject<undefined | AudioLoadedEvent>
    onAudioOutputVolumeChange$: Observable<VolumeChangeEvent>
    onAudioSwitched$: Observable<AudioSwitchedEvent>
    onBuffering$: Observable<VideoBufferingEvent>

    Fires on video buffering

    onEnded$: Observable<VideoEndedEvent>

    Fires on video end

    onFullscreenChange$: Observable<VideoFullscreenChangeEvent>

    Fires on fullscreen change

    onHelpMenuChange$: Observable<VideoHelpMenuChangeEvent>
    onMainAudioChange$: Observable<undefined | MainAudioChangeEvent>
    onMainAudioInputSoloMute$: Observable<undefined | MainAudioInputSoloMuteEvent>
    onMainAudioPeakProcessorMessage$: Observable<AudioPeakProcessorMessageEvent>
    onNamedEvent$: Observable<OmpNamedEvent>

    Fires on event which has active stream (see updateActiveNamedEventStreams

    onPause$: Observable<VideoPlayEvent>

    Fires on video pause

    onPlay$: Observable<VideoPlayEvent>

    Fires on video play

    onPlaybackRateChange$: Observable<VideoPlaybackRateEvent>

    Fires on playback rate change

    onPlaybackState$: Observable<PlaybackState>
    onSeeked$: Observable<VideoSeekedEvent>

    Fires on video seeked

    onSeeking$: Observable<VideoSeekingEvent>

    Fires on video seeking

    onSidecarAudioChange$: Observable<SidecarAudioChangeEvent>
    onSidecarAudioCreate$: Observable<SidecarAudioCreateEvent>
    onSidecarAudioInputSoloMute$: Observable<SidecarAudioInputSoloMuteEvent>
    onSidecarAudioPeakProcessorMessage$: Observable<
        SidecarAudioPeakProcessorMessageEvent,
    >
    onSidecarAudioRemove$: Observable<SidecarAudioRemoveEvent>
    onSidecarAudioVolumeChange$: Observable<SidecarAudioVolumeChangeEvent>
    onSubtitlesCreate$: Observable<SubtitlesCreateEvent>
    onSubtitlesHide$: Observable<SubtitlesEvent>
    onSubtitlesLoaded$: BehaviorSubject<undefined | SubtitlesLoadedEvent>
    onSubtitlesRemove$: Observable<SubtitlesEvent>
    onSubtitlesShow$: Observable<SubtitlesEvent>
    onThumbnailVttUrlChanged$: Observable<ThumnbailVttUrlChangedEvent>
    onVideoError$: Observable<VideoErrorEvent>

    Fires on if error occurs on video load

    onVideoLoaded$: Observable<undefined | VideoLoadedEvent>

    Fires on video load. Initial value is undefined. Always emits the current value on subscription.

    onVideoLoading$: Observable<VideoLoadingEvent>

    Fires on video load start.

    onVideoSafeZoneChange$: Observable<VideoSafeZoneChangeEvent>

    Fires on video safe zone change

    onVideoTimeChange$: Observable<VideoTimeChangeEvent>

    Fires on video time change

    onVideoWindowPlaybackStateChange$: Observable<
        VideoWindowPlaybackStateChangeEvent,
    >

    Fires on video window playback state change

    onVolumeChange$: Observable<VolumeChangeEvent>

    Fires on volume change

    Methods

    • Parameters

      • ids: undefined | string[]
      • deactivateOthers: undefined | boolean

      Returns Observable<void>

    • Parameters

      • id: string

      Returns undefined | OmpSidecarAudioInputSoloMuteState

    • Seeks to video frame offsetted by provided framesCount. Video must be in non-playing mode.

      Parameters

      • framesCount: number

        Positive (seek forward) or negative (seek backward) integer

      Returns Observable<boolean>

    • Seeks to video time offsetted by provided timeAmount. Video must be in non-playing mode.

      Parameters

      • timeAmount: number

        Positive (seek forward) or negative (seek backward) integer

      Returns Observable<boolean>

    • Seeks to particular video frame. Video must be in non-playing mode.

      Parameters

      • frame: number

        Video frame number

      Returns Observable<boolean>

    • Sets video playback rate

      Parameters

      • playbackRate: number

        Decimal value between [0.1, 16]. For example, if provided value is "2", video playback rate will be 2x of normal playback rate

      Returns Observable<void>