This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## svelte-podcast@0.9.0 ### Minor Changes -528457f: Restructures package exports -528457f: - improved export structure - simplify audio methods - improve typescript types -bba2421: Improve example components -bba2421: improve progress component style overrides -f42a00f: removes autoplay as it doesn't behave as users would expect Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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 |