apphouse
Version:
Component library for React that uses observable state management and theme-able components.
52 lines (51 loc) • 1.87 kB
TypeScript
import { Recorder } from './Recorder';
import Microphone, { MicrophoneOption } from './Microphone';
import Visualizer from './Visualizer';
import AudioSource from './AudioSource';
import Player from './Player';
import Speech, { GrammarItemType } from './Speech';
export declare enum AudioMeterType {
frequency = "frequency",
wave = "wave",
bar = "bar"
}
interface NonMatchedMemos {
text: string;
url: string;
}
export default class ContinuousSpeechRecognitionRecorder extends Speech {
audioSource: AudioSource;
endRecording: boolean;
language: string;
matchingId?: string;
microphone: Microphone;
onAudioSegmentAvailable?: (blob: Blob, matchingId?: string) => void;
otherMemos: NonMatchedMemos[];
player: Player;
recIndex: number;
recordedAudioBlob: Blob | undefined;
recordedAudioUrl: string;
recorder: Recorder;
shouldAutoRestartOnEndedPrematurely: boolean;
spokenText?: string;
visualizer: Visualizer;
visualizerId: string;
voiceMemos: Record<string, string[]>;
constructor(grammar: GrammarItemType[], visualizerId: string, onAudioSegmentAvailable?: (blob: Blob, matchingId?: string) => void, shouldAutoRestartOnEndedPrematurely?: boolean, lang?: string);
get currentVoiceMemos(): Record<string, string[]>;
get audioUrl(): string;
init: () => void;
setRecordedAudioUrl: (url: string) => void;
onRecordingComplete: (audio: Blob) => void;
start: () => void;
startRecording: () => void;
showAudioMeter: (meterType?: AudioMeterType) => void;
onInputChange: (selectedInput: MicrophoneOption, record: boolean) => Promise<void>;
stopStreaming: () => void;
onResult: (event: any) => void;
onSpeechEnd: () => void;
stopRecording: (matchedItemId?: string) => void;
incrementIndex: () => void;
stop: () => void;
}
export {};