UNPKG

videomail-client

Version:

A wicked npm package to record videos directly in the browser, wohooo!

55 lines (54 loc) 2 kB
import { Dimension } from "../../types/dimension"; import { VideomailClientOptions } from "../../types/options"; import Despot from "../../util/Despot"; import { AudioProcessCB } from "../../util/html/media/AudioRecorder"; import Recorder from "./recorder"; interface StopParams { aboutToInitialize: boolean; switchingFacingMode: any; } declare class UserMedia extends Despot { private readonly recorder; private readonly rawVisualUserMedia; private paused; private recording; private audioRecorder?; private currentVisualStream?; private onPlayReached; private onLoadedMetaDataReached; private playingPromiseReached; constructor(recorder: Recorder, options: VideomailClientOptions); private attachMediaStream; private setVisualStream; private hasEnded; private hasInvalidDimensions; private logEvent; private outputEvent; unloadRemainingEventListeners(): void; private audioRecord; init(localMediaStream: MediaStream, videoCallback: () => void, audioCallback: AudioProcessCB, endedEarlyCallback: (err: any) => void, switchingFacingMode?: ConstrainDOMString): void; isReady(): boolean; stop(visualStream?: MediaStream, params?: StopParams): void; createCanvas(): HTMLCanvasElement; getVideoHeight(): number | undefined; getVideoWidth(): number | undefined; hasVideoWidth(): boolean | 0 | undefined; getRawWidth(responsive: boolean): Dimension; getRawHeight(responsive: boolean): number | undefined; getRawVisuals(): HTMLVideoElement | null | undefined; pause(): void; isPaused(): boolean; resume(): void; record(): void; isRecording(): boolean; getAudioSampleRate(): number; getCharacteristics(): { audioSampleRate: number; muted: boolean | undefined; width: number | undefined; height: number | undefined; videoWidth: number | undefined; videoHeight: number | undefined; }; } export default UserMedia;