use-audio-record
Version:
<!-- automd:badges color=yellow -->
103 lines (100 loc) • 5.77 kB
TypeScript
import * as vue from 'vue';
import { I as IOptions } from './shared/use-audio-record.68911257.js';
declare function useAudioRecorder(options?: IOptions): {
mimeType: string | undefined;
sampleRate: number;
stream: vue.Ref<{
readonly active: boolean;
readonly id: string;
onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
addTrack: (track: MediaStreamTrack) => void;
clone: () => MediaStream;
getAudioTracks: () => MediaStreamTrack[];
getTrackById: (trackId: string) => MediaStreamTrack | null;
getTracks: () => MediaStreamTrack[];
getVideoTracks: () => MediaStreamTrack[];
removeTrack: (track: MediaStreamTrack) => void;
addEventListener: {
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
};
removeEventListener: {
<K_1 extends keyof MediaStreamEventMap>(type: K_1, listener: (this: MediaStream, ev: MediaStreamEventMap[K_1]) => any, options?: boolean | EventListenerOptions | undefined): void;
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
};
dispatchEvent: (event: Event) => boolean;
} | null>;
mediaRecorder: vue.Ref<{
readonly audioBitsPerSecond: number;
readonly mimeType: string;
ondataavailable: ((this: MediaRecorder, ev: BlobEvent) => any) | null;
onerror: ((this: MediaRecorder, ev: Event) => any) | null;
onpause: ((this: MediaRecorder, ev: Event) => any) | null;
onresume: ((this: MediaRecorder, ev: Event) => any) | null;
onstart: ((this: MediaRecorder, ev: Event) => any) | null;
onstop: ((this: MediaRecorder, ev: Event) => any) | null;
readonly state: RecordingState;
readonly stream: {
readonly active: boolean;
readonly id: string;
onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
addTrack: (track: MediaStreamTrack) => void;
clone: () => MediaStream;
getAudioTracks: () => MediaStreamTrack[];
getTrackById: (trackId: string) => MediaStreamTrack | null;
getTracks: () => MediaStreamTrack[];
getVideoTracks: () => MediaStreamTrack[];
removeTrack: (track: MediaStreamTrack) => void;
addEventListener: {
<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
};
removeEventListener: {
<K_1 extends keyof MediaStreamEventMap>(type: K_1, listener: (this: MediaStream, ev: MediaStreamEventMap[K_1]) => any, options?: boolean | EventListenerOptions | undefined): void;
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
};
dispatchEvent: (event: Event) => boolean;
};
readonly videoBitsPerSecond: number;
pause: () => void;
requestData: () => void;
resume: () => void;
start: (timeslice?: number | undefined) => void;
stop: () => void;
addEventListener: {
<K extends keyof MediaRecorderEventMap>(type: K, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
};
removeEventListener: {
<K_1 extends keyof MediaRecorderEventMap>(type: K_1, listener: (this: MediaRecorder, ev: MediaRecorderEventMap[K_1]) => any, options?: boolean | EventListenerOptions | undefined): void;
(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
};
dispatchEvent: (event: Event) => boolean;
} | null>;
recording: vue.Ref<boolean>;
duration: vue.Ref<number>;
recordedBlob: vue.Ref<{
readonly size: number;
readonly type: string;
arrayBuffer: () => Promise<ArrayBuffer>;
slice: (start?: number | undefined, end?: number | undefined, contentType?: string | undefined) => Blob;
stream: () => ReadableStream<Uint8Array>;
text: () => Promise<string>;
} | null>;
recordedAudioBuffer: vue.Ref<AudioBuffer | undefined>;
chunks: vue.Ref<{
readonly size: number;
readonly type: string;
arrayBuffer: () => Promise<ArrayBuffer>;
slice: (start?: number | undefined, end?: number | undefined, contentType?: string | undefined) => Blob;
stream: () => ReadableStream<Uint8Array>;
text: () => Promise<string>;
}[]>;
initRecorder: () => Promise<void>;
startRecording: (completeCallback?: () => void) => Promise<void>;
stopRecording: () => void;
handleToggleRecording: (completeCallback?: () => void) => void;
};
export { useAudioRecorder };