finds.dev← search

// the find

DIYgod/APlayer

★ 7,707 · JavaScript · MIT · updated Feb 2024

:lollipop: Wow, such a beautiful HTML5 music player

APlayer is a small vanilla-JS HTML5 audio/video player with a built-in playlist and synced LRC lyrics display. It's for front-end devs who want a drop-in music widget on a blog or personal site (it's the player behind the DPlayer/Meting ecosystem), not for building a full media app.

Zero framework dependency and small footprint — just include the JS/CSS and instantiate, which is why it got adopted by dozens of blog themes (Hexo, Typecho, WordPress plugins listed in the README). Built-in LRC lyric parsing and scrolling sync is a real feature most competitors skip. 7.7k stars and wrappers for React/Vue show it's been battle-tested across many small deployments, not just a toy.

Last push is Feb 2024 and the project has effectively moved to a fork (MoePlayer/APlayer is referenced throughout the README instead of DIYgod/APlayer, suggesting maintenance moved elsewhere) — check which repo is actually current before depending on it. No TypeScript types in the source, so integration in a modern TS codebase means writing your own declarations. It only plays formats the browser's native <audio>/<video> element supports (no HLS/DASH), so it's unsuitable for streaming use cases. The art-template-based templating (src/template/*.art) is a dated, low-adoption choice that makes customizing markup harder than it needs to be.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →