@byomakase/omakase-player
Version:
## Omakase Player - Open source JavaScript framework for building frame accurate video experiences
43 lines (42 loc) • 1.96 kB
TypeScript
import { MediaTimeRange } from 'media-chrome';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { MarkerApi } from '../api';
import { MarkerInitEvent, MarkerCreateEvent, MarkerDeleteEvent, MarkerUpdateEvent, MarkerSelectedEvent, MarkerMouseEvent } from '../types';
import { TimeRangeMarkerTrackApi, TimeRangeMarkerTrackVttLoadOptions } from '../api/time-range-marker-track-api';
import { MarkerVttFile } from '../vtt';
export declare class OmakaseTimeRange extends MediaTimeRange implements TimeRangeMarkerTrackApi {
onSeek$: Subject<number>;
onMouseOver$: Subject<number>;
onMarkerInit$: Subject<MarkerInitEvent>;
onMarkerCreate$: Subject<MarkerCreateEvent>;
onMarkerDelete$: Subject<MarkerDeleteEvent>;
onMarkerUpdate$: Subject<MarkerUpdateEvent>;
onMarkerSelected$: Subject<MarkerSelectedEvent>;
onMarkerMouseEnter$: Subject<MarkerMouseEvent>;
onMarkerMouseLeave$: Subject<MarkerMouseEvent>;
onMarkerClick$: Subject<MarkerMouseEvent>;
onVttLoaded$: BehaviorSubject<MarkerVttFile | undefined>;
private _previewBox;
private _lastPreviewTime?;
private _markerTrack;
private _markers;
private _destroyed$;
private _markerVttAdapter;
constructor();
get name(): string;
handleEvent(evt: Event | MouseEvent): void;
attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void;
getMarkers(): MarkerApi[];
addMarker(marker: MarkerApi): MarkerApi;
removeMarker(id: string): void;
updateMarker(id: string, data: Partial<MarkerApi>): void;
toggleMarker(id: string): void;
getSelectedMarker(): MarkerApi | undefined;
destroy(): void;
removeAllMarkers(): void;
loadVtt(vttUrl: string, options?: TimeRangeMarkerTrackVttLoadOptions): Observable<MarkerVttFile | undefined>;
private getElementRects;
private addMarkerElement;
private updateMarkerPosition;
private updateClasses;
}