chaimu
Version:
✨ Chaimu is an audio player that synchronizes audio with video
85 lines • 2.85 kB
TypeScript
import Chaimu from "./client.js";
import { FetchFunction, FetchOpts } from "./types/controller.js";
export declare const videoLipSyncEvents: string[];
export declare function initAudioContext(): AudioContext | undefined;
export declare class BasePlayer {
static name: string;
chaimu: Chaimu;
fetch: FetchFunction;
_src?: string;
fetchOpts?: FetchOpts;
constructor(chaimu: Chaimu, src?: string);
init(): Promise<this>;
clear(): Promise<this>;
lipSync(_mode?: false | string): this;
handleVideoEvent: (event: Event) => this;
removeVideoEvents(): this;
addVideoEvents(): this;
play(): Promise<this>;
pause(): Promise<this>;
get name(): string;
set src(url: string | undefined);
get src(): string | undefined;
get currentSrc(): unknown;
set volume(_value: number);
get volume(): number;
get playbackRate(): number;
set playbackRate(_value: number);
get currentTime(): number;
}
export declare class AudioPlayer extends BasePlayer {
static name: string;
audio: HTMLAudioElement;
gainNode: GainNode | undefined;
audioSource: MediaElementAudioSourceNode | undefined;
constructor(chaimu: Chaimu, src?: string);
initAudioBooster(): this;
private disconnectAudioNodes;
protected updateAudio(): this;
init(): Promise<this>;
audioErrorHandle: (e: DOMException) => void;
lipSync(mode?: false | string): this;
clear(): Promise<this>;
syncPlay(): this;
play(): Promise<this>;
pause(): Promise<this>;
set src(url: string | undefined);
get src(): string | undefined;
get currentSrc(): string;
set volume(value: number);
get volume(): number;
get playbackRate(): number;
set playbackRate(value: number);
get currentTime(): number;
}
export declare class ChaimuPlayer extends BasePlayer {
static name: string;
audioBuffer: AudioBuffer | undefined;
audioElement: HTMLAudioElement | undefined;
mediaElementSource: MediaElementAudioSourceNode | undefined;
gainNode: GainNode | undefined;
blobUrl: string | undefined;
private isClearing;
private isInitializing;
private clearingPromise;
fetchAudio(): Promise<this>;
initAudioBooster(): this;
private disconnectAudioNodes;
init(): Promise<this>;
protected createAudioElement(): void;
lipSync(mode?: false | string): this;
reopenCtx(): Promise<this>;
clear(): Promise<this>;
start(): Promise<this>;
pause(): Promise<this>;
play(): Promise<this>;
set src(url: string | undefined);
get src(): string | undefined;
get currentSrc(): string | undefined;
set volume(value: number);
get volume(): number;
set playbackRate(value: number);
get playbackRate(): number;
get currentTime(): number;
}
//# sourceMappingURL=player.d.ts.map