autoplay blocked 🟨 JavaScript

NotAllowedError: play() failed because the user didn't interact with the document first.

The browser blocked media autoplay with sound until the user interacts with the page.

Seen on: JavaScript

Meaning

Autoplay policies allow muted autoplay but require a user gesture for sound. video.play() returns a rejected promise.

Common causes

  • Calling play() with sound on page load
  • Audio started from a timer, not a click

⚡ Quick fix

  1. Start playback from a click/tap handler
  2. Autoplay muted (muted + playsinline) and offer an unmute button
  3. Catch the play() promise rejection

Detailed fix by platform

JavaScript

  1. javascript
    video.muted = true;
    video.play().catch(() => showPlayButton());

How to diagnose

  1. Trigger — Was play() called from a user gesture?
  2. Sound — Muted?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.