UNPKG

audio-tracker

Version:

A headless JavaScript library that gives you full control over web audio — playback, tracking, and Media Session integration made simple.

44 lines 1.48 kB
/** * Media Session module configuration options */ interface MediaSessionOptions { title?: string; artist?: string; album?: string; artwork?: MediaImage[]; } /** * Extended AudioTracker interface with Media Session module methods */ interface AudioTrackerWithMediaSession { audio: HTMLAudioElement; options: { mediaSession?: MediaSessionOptions; }; play: () => Promise<void>; pause: () => void; forward: (seconds?: number) => void; backward: (seconds?: number) => void; subscribe: (event: string, handler: () => void) => void; unsubscribe: (event: string, handler: () => void) => void; updateMediaSessionMetadata?: (metadata: MediaMetadataInit) => void; } /** * Media Session module for AudioTracker * Integrates with the browser's Media Session API to display playback controls in system UI * @param tracker - AudioTracker instance to attach Media Session functionality * @returns Cleanup function to remove Media Session handlers and metadata * @example * const tracker = new AudioTracker('audio.mp3', { * mediaSession: { * title: 'Song Title', * artist: 'Artist Name', * album: 'Album Name', * artwork: [{ src: 'cover.jpg', sizes: '512x512', type: 'image/jpeg' }] * } * }); * tracker.use(mediaSessionModule); */ export declare function mediaSessionModule(tracker: AudioTrackerWithMediaSession): (() => void) | void; export {}; //# sourceMappingURL=mediaSessionModule.d.ts.map