unified-video-framework
Version:
Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more
39 lines • 1.52 kB
TypeScript
import { Chapter, ChapterSegment, ChapterConfig, EventHandler } from './interfaces';
export interface ChapterManagerEvents {
chapterchange: Chapter | null;
segmententered: ChapterSegment;
segmentexited: ChapterSegment;
segmentskipped: ChapterSegment;
}
export declare class ChapterManager {
private config;
private chapters;
private segments;
private currentChapter;
private activeSegments;
private lastProcessedTime;
private eventHandlers;
constructor(config?: ChapterConfig);
updateConfig(config: ChapterConfig): void;
loadChapterData(url: string): Promise<void>;
initialize(): Promise<void>;
processTimeUpdate(currentTime: number): void;
private processChapterChange;
private processSegments;
getCurrentChapter(currentTime: number): Chapter | null;
getChapters(): Chapter[];
getSegments(): ChapterSegment[];
getSegmentsAtTime(currentTime: number): ChapterSegment[];
skipSegment(segment: ChapterSegment): void;
seekToChapter(chapterId: string): Chapter | null;
getNextChapter(currentTime: number): Chapter | null;
getPreviousChapter(currentTime: number): Chapter | null;
on<K extends keyof ChapterManagerEvents>(event: K, handler: EventHandler): void;
off<K extends keyof ChapterManagerEvents>(event: K, handler?: EventHandler): void;
private emit;
reset(): void;
destroy(): void;
getCurrentChapterInfo(): Chapter | null;
isEnabled(): boolean;
}
//# sourceMappingURL=chapter-manager.d.ts.map