UNPKG

@cjblack/expo-audio-stream

Version:
87 lines 2.37 kB
export type RecordingEncodingType = 'pcm_32bit' | 'pcm_16bit' | 'pcm_8bit'; export type SampleRate = 16000 | 44100 | 48000; export type BitDepth = 8 | 16 | 32; export declare const PlaybackModes: { readonly REGULAR: "regular"; readonly VOICE_PROCESSING: "voiceProcessing"; readonly CONVERSATION: "conversation"; }; /** * Defines different playback modes for audio processing */ export type PlaybackMode = (typeof PlaybackModes)[keyof typeof PlaybackModes]; /** * Configuration for audio playback settings */ export interface SoundConfig { /** * The sample rate for audio playback in Hz */ sampleRate?: SampleRate; /** * The playback mode (regular, voiceProcessing, or conversation) */ playbackMode?: PlaybackMode; /** * When true, resets to default configuration regardless of other parameters */ useDefault?: boolean; } export declare const EncodingTypes: { readonly PCM_F32LE: "pcm_f32le"; readonly PCM_S16LE: "pcm_s16le"; }; /** * Defines different encoding formats for audio data */ export type Encoding = (typeof EncodingTypes)[keyof typeof EncodingTypes]; export interface StartRecordingResult { fileUri: string; mimeType: string; channels?: number; bitDepth?: BitDepth; sampleRate?: SampleRate; } export interface AudioDataEvent { data: string | Float32Array; data16kHz?: string | Float32Array; position: number; fileUri: string; eventDataSize: number; totalSize: number; soundLevel?: number; } export interface RecordingConfig { sampleRate?: SampleRate; channels?: 1 | 2; encoding?: RecordingEncodingType; interval?: number; enableProcessing?: boolean; pointsPerSecond?: number; onAudioStream?: (event: AudioDataEvent) => Promise<void>; } export interface Chunk { text: string; timestamp: [number, number | null]; } export interface TranscriberData { id: string; isBusy: boolean; text: string; startTime: number; endTime: number; chunks: Chunk[]; } export interface AudioRecording { fileUri: string; filename: string; durationMs: number; size: number; channels: number; bitDepth: BitDepth; sampleRate: SampleRate; mimeType: string; transcripts?: TranscriberData[]; wavPCMData?: Float32Array; } //# sourceMappingURL=types.d.ts.map