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

    Interface PlayerDetachedApi

    Shared API surface inherited by all player variants (PlayerApi, PlayerInternalApi, PlayerLocalApi, PlayerDetachedApi).

    Provides playback control, seeking (supporting multiple temporal formats), time conversion, playback rate, and fullscreen toggling.

    interface PlayerDetachedApi {
        audioInternal: PlayerAudioInternalApi;
        isMainMediaLoaded: boolean;
        mainMediaType: MainMediaType | undefined;
        onEvent$: Observable<PlayerEvent>;
        playerSession: PlayerSession;
        textInternal: PlayerTextInternalApi;
        videoInternal: PlayerVideoInternalApi;
        convertTime<S extends MediaTemporalFormat, D extends MediaTemporalFormat>(
            value: MediaTemporalFormatValueMap[S],
            valueFormat: S,
            destinationFormat: D,
        ): MediaTemporalFormatValueMap[D];
        destroy(): void;
        extractVideoKeyframe(
            options?: VideoKeyframeOptions,
        ): Observable<VideoKeyframe>;
        getCurrentTime<F extends MediaTemporalFormat>(
            format: F,
        ): MediaTemporalFormatValueMap[F];
        getDuration<F extends MediaTemporalFormat>(
            format: F,
        ): MediaTemporalFormatValueMap[F];
        loadMainMedia(mainMediaId: string): Observable<MainMediaState>;
        loadSidecarTrack(
            trackId: string,
            loadOptions?: TrackLoadOptions,
        ): Observable<void>;
        pause(): Observable<void>;
        play(): Observable<void>;
        removeAllSidecarTracks(): Observable<void>;
        removeSidecarTrack(trackId: string): Observable<void>;
        restorePlayerSession(playerSession: PlayerSession): Observable<void>;
        seekFromCurrentTime<F extends MediaTemporalFormat>(
            value: MediaTemporalFormatValueMap[F],
            format: F,
        ): Observable<boolean>;
        seekTo<F extends MediaTemporalFormat>(
            value: MediaTemporalFormatValueMap[F],
            format: F,
        ): Observable<boolean>;
        seekToLive(): Observable<boolean>;
        setMediaRotation(mediaRotation: MediaRotationValue): Observable<void>;
        setPlaybackRate(playbackRate: number): Observable<void>;
        toggleFullScreen(): Observable<void>;
        unloadMainMedia(): Observable<void>;
    }

    Hierarchy (View Summary)

    Index

    Properties

    audioInternal: PlayerAudioInternalApi
    isMainMediaLoaded: boolean

    Whether a main media source is currently loaded and ready.

    mainMediaType: MainMediaType | undefined

    The type of the currently loaded main media, or undefined if nothing is loaded. Unlike PlayerApi.mainMedia, available synchronously regardless of how the session was established (freshly loaded or restored, e.g. after detaching).

    onEvent$: Observable<PlayerEvent>

    Observable stream of player lifecycle and playback events.

    playerSession: PlayerSession

    Current player session state (playback position, audio/text selection, etc.).

    textInternal: PlayerTextInternalApi
    videoInternal: PlayerVideoInternalApi

    Methods

    • Live mode only. Seeks to the current live edge (the recommended sync position). No-ops (false) when the loaded media isn't live.

      Returns Observable<boolean>

      Observable that emits true if the seek succeeded, false if not currently live.