UNPKG

desktop-audio-proxy

Version:

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

123 lines 3.88 kB
import { type Ref, type ComputedRef } from 'vue'; import { AudioProxyClient } from './index'; import { AudioProxyOptions, StreamInfo, Environment } from './types'; /** * Vue composable for managing audio proxy client with automatic URL processing */ export declare function useAudioProxy(url: Ref<string | null> | string | null, options?: AudioProxyOptions): { audioUrl: ComputedRef<string | null>; isLoading: ComputedRef<boolean>; error: ComputedRef<string | null>; streamInfo: ComputedRef<StreamInfo | { url: string; status: number; headers: Record<string, string>; canPlay: boolean; requiresProxy: boolean; contentType?: string | undefined; contentLength?: string | undefined; acceptRanges?: string | undefined; lastModified?: string | undefined; } | null>; retry: () => void; client: AudioProxyClient; }; /** * Vue composable for accessing audio capabilities and system information */ export declare function useAudioCapabilities(): { capabilities: ComputedRef<{ supportedFormats: string[]; missingCodecs: string[]; capabilities: Record<string, string>; environment: Environment; electronVersion?: string; chromiumVersion?: string; } | { supportedFormats: string[]; missingCodecs: string[]; capabilities: Record<string, string>; environment: Environment; electronVersion?: string | undefined; chromiumVersion?: string | undefined; } | null>; devices: ComputedRef<{ inputDevices: Array<{ id: string; name: string; }>; outputDevices: Array<{ id: string; name: string; }>; } | { inputDevices: { id: string; name: string; }[]; outputDevices: { id: string; name: string; }[]; } | null>; systemSettings: ComputedRef<{ defaultInputDevice?: string; defaultOutputDevice?: string; masterVolume?: number; } | { defaultInputDevice?: string | undefined; defaultOutputDevice?: string | undefined; masterVolume?: number | undefined; } | null>; isLoading: ComputedRef<boolean>; error: ComputedRef<string | null>; refresh: () => Promise<void>; }; /** * Vue composable for checking proxy server availability */ export declare function useProxyStatus(options?: AudioProxyOptions): { isAvailable: ComputedRef<boolean | null>; isChecking: ComputedRef<boolean>; error: ComputedRef<string | null>; proxyUrl: ComputedRef<string>; refresh: () => Promise<void>; }; /** * Vue composable for audio metadata extraction (Tauri/Electron only) */ export declare function useAudioMetadata(filePath: Ref<string | null> | string | null): { metadata: ComputedRef<{ duration?: number; bitrate?: number; sampleRate?: number; channels?: number; format?: string; } | { duration?: number | undefined; bitrate?: number | undefined; sampleRate?: number | undefined; channels?: number | undefined; format?: string | undefined; } | null>; isLoading: ComputedRef<boolean>; error: ComputedRef<string | null>; }; /** * Vue plugin for global audio proxy configuration */ export interface AudioProxyGlobalOptions { defaultOptions?: AudioProxyOptions; } export declare function createAudioProxy(globalOptions?: AudioProxyGlobalOptions): { install(app: any): void; }; /** * Injection key for dependency injection */ export declare const audioProxyInjectionKey: unique symbol; /** * Composable to inject the global audio proxy client */ export declare function useGlobalAudioProxy(): AudioProxyClient; //# sourceMappingURL=vue.d.ts.map