tav-media
Version:
Cross platform media editing framework
56 lines (55 loc) • 1.56 kB
TypeScript
interface MediaReaderOptions {
playbackRate?: number;
startTime?: number;
duration?: number;
volume?: number;
}
export declare class MediaReader {
static videos: {
[path: string]: HTMLVideoElement;
};
static videoPreloadTask: {
[path: string]: Promise<HTMLVideoElement>;
};
static readers: MediaReader[];
static preload(clipAssetPath: string): Promise<HTMLVideoElement>;
static Make(filePath: string): MediaReader;
static MakeFromBytes(bytesOffset: number, length: number): MediaReader;
path: string;
videoEl: HTMLVideoElement;
width: number;
height: number;
contentTime: number;
textureId: number;
texture: any;
released: boolean;
playbackRate: number;
alwaysPause: boolean;
volume: number;
adjustRange: number;
/**
* Browser, it will be 1 in WeChat reader
*/
type: number;
useCount: number;
private isPaused;
private startTime;
private duration;
private resetTask;
private constructor();
decodeAudio(): Promise<this>;
updateSize(): void;
renderToTexture(GL: any, textureId: any): void;
setOptions(options: MediaReaderOptions): void;
getNearestKeyFrame(time: number): number;
seekToSync(contentTime: number): void;
pause(): Promise<boolean>;
continue(): void;
seekTo(contentTime: number, forceSeek?: boolean): Promise<boolean>;
reset(): void;
release(): void;
reuse(): void;
onMediaTimeUpdate: () => void;
private checkEndTimeAndPause;
}
export {};