Svelte Podcast

Svelte-Podcast streamlines the creation of custom audio players and simplifies state management in Svelte apps.

Version License Status

What's inside?

Build custom Audio Player UI

Simplify the creation of custom audio players with a set of headless components that keep out of your way and take care of core functionality.

Easily manage Audio State

Loading, controlling, and keeping track of multiple audio sources is a pain. svelte-podcast abstracts this away and provides a simple interface to manage audio state.

Track user preferences

Users expect a lot from media players. It should remember their preferences like playback speed, and it should remember where they were in an episode even after reloading the page. svelte-podcast takes care of this for you, and provides you with access to extend this with your own database.

Features

  • 🔊 Load and play audio files via URL or local files
  • 🔃 Navigate via client-side routing while audio continues to play
  • 🎛️ Simpler control over audio playback:
    • Seek to a specific time
    • skip forward ﹢ backward
    • play ﹢ pause
    • mute ﹢ unmute
  • 🛟 Save and load a users progress for each episode in localStorage
  • 💾 Save and load a users preferences (like playback speed) in localStorage
    • ﹢ volume
    • ﹢ playback speed
  • 🖼️ Inject episode metadata into the audio store for ea

Roadmap In no particular order, here are some of the things I'm confident will be added to this library:

  • Podcast player component utilities
  • Pre-built player components
  • RSS Feed parsing
  • Looping segments of an episode

And more ideas being discussed

Docs

Warning We're getting close to v1, but this project is stil pre v1.0.0. Braking changes are still possible.

Note Contributions are welcome but I do not plan to provide guides for contributing until the project is more stable.

Install

# with npm
npm install svelte-podcast@latest

# with yarn
yarn add svelte-podcast@latest

# with pnpm
pnpm add svelte-podcast@latest

You can find docs and guides for getting started on svelte-podcast.com

Resource Link
Provides guidance on Installation, Audio Sources, and Type Safety Getting Started
Covers API methods for audio, user preferences, and user progress API
Offers examples of Headless UI, Tailwind, and CSS players Examples

Top categories

Loading Svelte Themes