UNPKG

@irvingouj/expo-audio-stream

Version:

Expo Play Audio Stream module - Fork of expo-audio-stream with additional features and Expo SDK 52+ support

106 lines 2.94 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 StartMicrophoneResult { fileUri?: string; mimeType?: string; channels?: number; bitDepth?: BitDepth; sampleRate?: SampleRate; } interface BaseAudioDataEvent { soundLevel: number; } export interface RecordingAudioDataEvent extends BaseAudioDataEvent { type: 'recording'; fileUri: string; } export interface MicrophoneAudioDataEvent extends BaseAudioDataEvent { type: 'microphone'; data: string | Float32Array; data16kHz?: string | Float32Array; position: number; eventDataSize: number; totalSize: number; } export type AudioDataEvent = RecordingAudioDataEvent | MicrophoneAudioDataEvent; export interface RecordingConfig { interval?: number; onAudioStream?: (event: AudioDataEvent) => Promise<void>; } export interface MicrophoneConfig { 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; } export {}; //# sourceMappingURL=types.d.ts.map