UNPKG

whisper.rn

Version:

React Native binding of whisper.cpp

76 lines 2.23 kB
import type { AudioStreamInterface, AudioStreamConfig, AudioStreamData } from '../types'; import { WavFileReaderFs } from '../../utils/WavFileReader'; export interface SimulateFileOptions { fs: WavFileReaderFs; filePath: string; playbackSpeed?: number; chunkDurationMs?: number; loop?: boolean; onEndOfFile?: () => void; logger?: (message: string) => void; } export declare class SimulateFileAudioStreamAdapter implements AudioStreamInterface { private fileReader; private config; private options; private isInitialized; private recording; private dataCallback?; private errorCallback?; private statusCallback?; private streamInterval?; private currentBytePosition; private startTime; private pausedTime; private hasReachedEnd; constructor(options: SimulateFileOptions); initialize(config: AudioStreamConfig): Promise<void>; start(): Promise<void>; stop(): Promise<void>; isRecording(): boolean; onData(callback: (data: AudioStreamData) => void): void; onError(callback: (error: string) => void): void; onStatusChange(callback: (isRecording: boolean) => void): void; onEnd(callback: () => void): void; release(): Promise<void>; /** * Start the streaming process */ private startStreaming; /** * Stream the next audio chunk */ private streamNextChunk; /** * Get current playback statistics */ getStatistics(): { filePath: string; isRecording: boolean; currentTime: number; totalDuration: number; progress: number; playbackSpeed: number | undefined; currentBytePosition: number; totalBytes: number; hasReachedEnd: boolean; header: import("../../utils/WavFileReader").WavFileHeader | null; }; /** * Seek to a specific time position */ seekToTime(timeSeconds: number): void; /** * Set playback speed */ setPlaybackSpeed(speed: number): void; /** * Reset file buffer to beginning */ resetBuffer(): void; /** * Logger function */ private log; } //# sourceMappingURL=SimulateFileAudioStreamAdapter.d.ts.map