Built for polished video and audio experiences

A modern React media player with the details users actually feel.

Ship a video and audio player that looks premium, loads only when needed, and includes playlist timelines, preview snippets, captions, waveform audio, poster generation, and safer autoplay out of the box.

Video + audio in one package
HLS (.m3u8) streaming & quality controls
Lazy-loads when visible
Type-safe props and callbacks
Customizable UI icons
OS media controls built-in
Buffered range display

Install in seconds

npm install react-video-audio-player
Product-ready features

Built to feel complete, not just functional.

The strongest sell here is the product quality: richer media workflows, fewer edge cases, and controls that behave the way users expect.

Playlist-aware video & audio
Timeline chapter markers
Dynamic Ambient Glow Mode
HLS (.m3u8) streaming
Adaptive quality selector
Preview snippets
Captions and track switching
Waveform audio with fallback
Poster generation
Customizable UI icons
Download hooks and shortcuts
OS media controls (Media Session API)
Buffered range display
Pause and resume on scroll
Media-first interactionsConfigured through props
Controls
Chapters
Audio Playlist
ambientMode
HLS Stream
Quality
Tracks
Preview
PiP
Download
MediaSession
Buffered
Scroll-pause

Why teams pick it

Feature depth that makes the page worth landing on.

These are the parts that differentiate the package from a basic media wrapper: real playlist handling, preview support, waveform audio, lazy loading, and controls you can actually tune.

Playlist-aware playback

Chain multiple clips into one timeline with aggregated duration, seek mapping, and seamless auto-advance.

Preview clips

Show clip-only or random previews with loop support for samples, teasers, and gated playback.

Subtitle and track support

Load subtitles or captions, switch tracks, and keep text tracks in sync with the active media.

Poster generation

Generate a poster frame from any point in the video to make embeds and demos feel polished.

Waveform audio with fallback

Use WaveSurfer.js for a rich waveform, with peak loading and a plain audio fallback for reliability.

Safer autoplay and lazy loading

Delay loading until visible and block oversized autoplay so media stays predictable in production.

OS media controls

Media Session API is wired automatically. Keyboard media keys, lock screen controls on iOS and Android, and Bluetooth headset buttons all control the player without any extra code.

HLS Streaming & Quality Selector

Full support for .m3u8 live and VOD streams with adaptive quality controls (Auto, 1080p, 720p, 480p, 360p, audio bitrates).

Timeline Chapter Markers

Display interactive chapter ticks on progress bars with active chapter titles inside hover tooltips.

Ambient Glow Mode

YouTube-style real-time canvas aura that projects a soft, color-matched ambient glow behind playing video.

Video player built for real apps

Multiple sources, playback rate, fullscreen, picture-in-picture, download hooks, keyboard shortcuts, and custom control exclusions.

Audio player with waveform polish

Volume, mute, speed, seek, downloads, progress callbacks, and a graceful fallback when waveform rendering is unavailable.

Highly configurable controls

Hide or keep only the controls you want, then tune accent color, sizing, poster timing, and preview behavior.

Lazy loading that feels instant

Media loads when the player enters view, keeping landing pages fast without sacrificing an interactive demo.

Live demo

The product sells itself once the controls are visible.

The interactive players below show the package in action with the same polish your users would see in a real app.

Video Player

Playlist timelines, subtitles, poster generation, and control customization in one component.

Video paused

Audio Player

A richer audio experience with waveform visualization, peaks, fallback playback, download support, and keyboard shortcuts.

Audio paused

Ready to ship

Give your app a player that feels intentional, not generic.

Keep the control surface familiar while adding the capabilities that make creators, editors, and end users trust the product.