UNPKG

unified-video-framework

Version:

Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more

42 lines 1.78 kB
import { VideoSegment, VideoChapters, ChapterConfig, ChapterEvents, ChapterMarker, SegmentType } from './types/ChapterTypes'; export declare class ChapterManager { private playerContainer; private videoElement; private chapters; private currentSegment; private previousSegment; private skipButtonController; private creditsButtonController; private config; private eventListeners; private isDestroyed; constructor(playerContainer: HTMLElement, videoElement: HTMLVideoElement, config?: ChapterConfig); loadChapters(chapters: VideoChapters): Promise<void>; loadChaptersFromUrl(url: string): Promise<void>; getCurrentSegment(currentTime: number): VideoSegment | null; skipToNextSegment(currentSegment: VideoSegment): void; skipToSegment(segmentId: string): void; getSegments(): VideoSegment[]; getSegment(segmentId: string): VideoSegment | null; getSegmentsByType(type: SegmentType): VideoSegment[]; getChapterMarkers(): ChapterMarker[]; updateConfig(newConfig: Partial<ChapterConfig>): void; on<K extends keyof ChapterEvents>(event: K, listener: (data: ChapterEvents[K]) => void): void; off<K extends keyof ChapterEvents>(event: K, listener: (data: ChapterEvents[K]) => void): void; destroy(): void; hasChapters(): boolean; getChapters(): VideoChapters | null; private setupTimeUpdateListener; private checkCurrentSegment; private shouldShowSkipButton; private handleWatchCredits; private handleNextEpisode; private handleAutoRedirect; private getNextContentSegment; private sortSegments; private validateChapters; private updateChapterMarkers; private removeChapterMarkers; private emit; } //# sourceMappingURL=ChapterManager.d.ts.map