UNPKG

@mustafakarali/react-native-audio-stream

Version:

React Native Audio Stream - High-performance audio streaming for React Native

95 lines 3.98 kB
import { IAudioStream, AudioStreamConfig, AudioStreamCallbacks, PlaybackState, PlaybackStats, AudioMetadata, EqualizerBand, EqualizerPreset, AudioDeviceInfo } from './types'; export declare class AudioStream implements IAudioStream { private static instance; private eventEmitter; private eventListeners; private nativeEventSubscriptions; private config; private currentUrl; private isInitialized; private constructor(); static getInstance(): AudioStream; private setupNativeEventListeners; initialize(config?: AudioStreamConfig): Promise<void>; destroy(): Promise<void>; startStream(url: string, config?: AudioStreamConfig): Promise<void>; stopStream(): Promise<void>; play(): Promise<void>; pause(): Promise<void>; stop(): Promise<void>; cancelStream(): Promise<void>; seek(position: number): Promise<void>; setVolume(volume: number): Promise<void>; getVolume(): Promise<number>; setPlaybackRate(rate: number): Promise<void>; getPlaybackRate(): Promise<number>; getState(): Promise<PlaybackState>; getCurrentTime(): Promise<number>; getDuration(): Promise<number>; getBufferedPercentage(): Promise<number>; getStats(): Promise<PlaybackStats>; getMetadata(): Promise<AudioMetadata | null>; setEqualizer(bands: EqualizerBand[]): Promise<void>; getEqualizer(): Promise<EqualizerBand[]>; applyEqualizerPreset(preset: EqualizerPreset | number): Promise<void>; getEqualizerPresets(): Promise<EqualizerPreset[]>; addEventListener<K extends keyof AudioStreamCallbacks>(event: K, callback: AudioStreamCallbacks[K]): void; removeEventListener<K extends keyof AudioStreamCallbacks>(event: K, callback: AudioStreamCallbacks[K]): void; removeAllEventListeners(): void; clearCache(): Promise<void>; getCacheSize(): Promise<number>; preloadStream(url: string, duration?: number): Promise<void>; setNetworkPriority(priority: 'low' | 'normal' | 'high'): Promise<void>; requestAudioFocus(): Promise<boolean>; abandonAudioFocus(): Promise<void>; setAudioSessionCategory(category: string): Promise<void>; showInputPicker(): Promise<void>; getAvailableInputs(): Promise<AudioDeviceInfo[]>; enableEnhancedBuffering(enable: boolean): Promise<void>; enableSpatialAudio(enable: boolean): Promise<void>; useQueuePlayer(enable: boolean): Promise<void>; createRoutePickerView(): Promise<number>; playFromData(base64Data: string, config?: AudioStreamConfig): Promise<void>; appendToBuffer(base64Data: string): Promise<void>; startRealtimeStream(config?: AudioStreamConfig): Promise<void>; appendRealtimeData(base64Data: string): Promise<void>; completeRealtimeStream(): Promise<void>; getStreamingStats(): Promise<{ bytesWritten: number; bytesRead: number; isActive: boolean; isReady: boolean; }>; private ensureInitialized; private createError; /** * Start memory-based streaming (Android only) * @platform android */ static startMemoryStream(config?: AudioStreamConfig): Promise<boolean>; /** * Append audio chunk to memory stream (Android only) * @platform android */ static appendToMemoryStream(base64Data: string): Promise<boolean>; /** * Complete memory stream (Android only) * @platform android */ static completeMemoryStream(): Promise<boolean>; /** * Stream audio from URL with optimal settings * Automatically handles Android/iOS differences */ static streamFromURL(url: string, onChunk?: (chunk: Uint8Array) => void): Promise<void>; /** * Simple Text-to-Speech streaming with ElevenLabs */ static streamTTS(text: string, config: { apiKey: string; voiceId: string; model?: string; onProgress?: (status: string) => void; }): Promise<void>; } //# sourceMappingURL=AudioStream.d.ts.map