@slashedcloud/player
Version:
A media player application utilizing Shaka Player for adaptive video streaming, capable of playing HLS, MPD and plain HTTP video streams.
97 lines (96 loc) • 2.9 kB
TypeScript
import { Marker } from '../../Plugins/Markers';
import * as shaka from 'shaka-player/dist/shaka-player.ui';
type seekBarChapter = shaka.extern.Chapter & {
element?: HTMLDivElement;
};
type seekBarMarker = Marker & {
element?: HTMLDivElement;
id: string;
};
/**
* Custom Seek bar
* With markers and chapters
*/
export declare class CustomSeekBarFactory {
create(rootElement: HTMLElement, controls: shaka.ui.Controls): CustomSeekBar;
}
export default class CustomSeekBar extends shaka.ui.SeekBar {
#private;
custumSeekBarActive: boolean;
isChaptersEnabled: boolean;
isMarkersEnabled: boolean;
isThumbnailEnabled: boolean;
chapters: seekBarChapter[];
markers: seekBarMarker[];
thumbnailWrapper: HTMLDivElement;
thumbnailMarkerContainer: HTMLElement;
thumbnailMarkerText: HTMLElement;
thumbnailMarkerImage: HTMLImageElement;
thumbnailMarkerTime: HTMLElement;
markerContainer: HTMLElement;
chapterContainer: HTMLElement;
chapterContainerText: HTMLElement;
preloadedMarkerImages: Map<number, HTMLImageElement>;
hideChapters: shaka.util.Timer;
hideMarkers: shaka.util.Timer;
thumbnailContainer: HTMLDivElement | null;
eventManager: shaka.util.EventManager;
controlsContainer: HTMLElement;
constructor(parent: HTMLElement, controls: shaka.ui.Controls);
/**
* @override
*/
update(): void;
/**
* Called by the base class when user interaction with the input element
* ends.
*
* @override
*/
onChangeEnd(): void;
/**
* Update the video element's state to match the input element's state.
* Called by the base class when the input element changes.
*
* @override
*/
onChange(): void;
changeTo(value: number): void;
updateChapters(): void;
onChangeChapters(): void;
setChapters(chapters: seekBarChapter[]): void;
calcFrac(chapter: shaka.extern.Chapter, seekRange: shaka.extern.BufferedRange, seekRangeSize: number): {
startFrac: number;
endFrac: number;
};
/**
* @param {string} color
* @param {number} fract
* @return {string}
* @private
*/
makeColor_(color: string, fract: number): string;
setMarkers(markers: seekBarMarker[]): void;
/**
* Preload image
* @param {string} url
* @param {number} time
*/
preloadImage(url: string, time: number): Promise<void>;
/**
* Load image
* @param {string} url
* @param {string} alt
*/
loadImage(url: string, alt: string): Promise<boolean>;
/**
* @param {number} totalSeconds
* @private
*/
timeFormatter_(totalSeconds: number): string;
hideChapters_(): void;
hideMarkers_(): void;
registerChapters(chapters: shaka.extern.Chapter[]): void;
registerMarkers(markers: shaka.extern.Chapter[]): Promise<void>;
}
export {};