UNPKG

desktop-audio-proxy

Version:

A comprehensive audio streaming solution for Tauri and Electron apps that bypasses CORS and WebKit codec issues

83 lines 2.45 kB
import { AudioProxyClient } from './index'; import { AudioProxyOptions, StreamInfo, Environment } from './types'; /** * Hook for managing audio proxy client with automatic URL processing */ export declare function useAudioProxy(url: string | null, options?: AudioProxyOptions): { audioUrl: string | null; isLoading: boolean; error: string | null; streamInfo: StreamInfo | null; retry: () => void; client: AudioProxyClient; }; /** * Hook for accessing audio capabilities and system information */ export declare function useAudioCapabilities(): { capabilities: { supportedFormats: string[]; missingCodecs: string[]; capabilities: Record<string, string>; environment: Environment; electronVersion?: string; chromiumVersion?: string; } | null; devices: { inputDevices: Array<{ id: string; name: string; }>; outputDevices: Array<{ id: string; name: string; }>; } | null; systemSettings: { defaultInputDevice?: string; defaultOutputDevice?: string; masterVolume?: number; } | null; isLoading: boolean; error: string | null; refresh: () => Promise<void>; }; /** * Hook for checking proxy server availability */ export declare function useProxyStatus(options?: AudioProxyOptions): { isAvailable: boolean | null; isChecking: boolean; error: string | null; proxyUrl: string; refresh: () => Promise<void>; }; /** * Hook for audio metadata extraction (Tauri/Electron only) */ export declare function useAudioMetadata(filePath: string | null): { metadata: { duration?: number; bitrate?: number; sampleRate?: number; channels?: number; format?: string; } | null; isLoading: boolean; error: string | null; }; /** * Context provider for global audio proxy configuration */ import { ReactNode } from 'react'; interface AudioProxyContextValue { defaultOptions: AudioProxyOptions; client: AudioProxyClient; } export declare function AudioProxyProvider({ children, options, }: { children: ReactNode; options?: AudioProxyOptions; }): import("react").FunctionComponentElement<import("react").ProviderProps<AudioProxyContextValue | null>>; export declare function useAudioProxyContext(): AudioProxyContextValue; export {}; //# sourceMappingURL=react.d.ts.map