UNPKG

@orbisk/vue-use-media-recorder

Version:
86 lines (85 loc) 2.84 kB
import type { ConfigurableNavigator } from '@vueuse/core'; import type { MaybeRef } from 'vue'; interface UseMediaRecorderOptions extends ConfigurableNavigator { /** * The constraints parameter is a MediaStreamConstraints object specifying the types of media to request, along with any requirements for each type. */ constraints?: MaybeRef<MediaStreamConstraints>; /** * Options to pass to the MediaRecorder constructor. */ mediaRecorderOptions?: MaybeRef<MediaRecorderOptions>; /** * Callback when recording starts. */ onStart?: (ev: Event) => any; /** * Callback when recording pauses. */ onPause?: (ev: Event) => any; /** * Callback when recording resumes. */ onResume?: (ev: Event) => any; /** * Callback when recording stops. */ onStop?: (ev: Event) => any; /** * Callback when an error occurs. */ onError?: (ev: Event) => any; } export declare function useMediaRecorder(options?: UseMediaRecorderOptions): { start: (timeslice?: number | undefined) => Promise<void>; pause: () => void; resume: () => void; stop: () => void; data: import("vue").Ref<{ readonly size: number; readonly type: string; arrayBuffer: { (): Promise<ArrayBuffer>; (): Promise<ArrayBuffer>; }; slice: { (start?: number, end?: number, contentType?: string): Blob; (start?: number, end?: number, contentType?: string): Blob; }; stream: { (): ReadableStream<Uint8Array>; (): NodeJS.ReadableStream; }; text: { (): Promise<string>; (): Promise<string>; }; }[], Blob[] | { readonly size: number; readonly type: string; arrayBuffer: { (): Promise<ArrayBuffer>; (): Promise<ArrayBuffer>; }; slice: { (start?: number, end?: number, contentType?: string): Blob; (start?: number, end?: number, contentType?: string): Blob; }; stream: { (): ReadableStream<Uint8Array>; (): NodeJS.ReadableStream; }; text: { (): Promise<string>; (): Promise<string>; }; }[]>; stream: import("vue").ShallowRef<MediaStream | undefined, MediaStream | undefined>; state: import("@vueuse/shared").ComputedRefWithControl<RecordingState | undefined>; isSupported: import("vue").ComputedRef<boolean>; isMimeTypeSupported: import("vue").ComputedRef<boolean>; mimeType: import("vue").ComputedRef<string | undefined>; mediaRecorder: import("vue").ComputedRef<MediaRecorder | undefined>; }; export type UseMediaRecorderReturn = ReturnType<typeof useMediaRecorder>; export {};