Serve MP3 as the safe default for browser compatibility and add an OGG (Vorbis/Opus) source for smaller size where supported. Keep sound effects short and compressed, load audio through the Web Audio API where available, and always gate playback behind a user gesture.
At a glance
| Fact | Value | Source |
|---|---|---|
| Two formats needed for full browser coverage | MP3 + OGG | developer.mozilla.org |
| Autoplay is blocked without user gesture | click/tap required | developer.mozilla.org |
| Phaser picks Web Audio API automatically | Web Audio API preferred | docs.phaser.io |
For a browser game, encode audio as MP3 first – it plays in every current browser – and add an OGG (Vorbis or Opus) version as a second source, since MDN notes that supporting all browsers currently means specifying two formats. Keep music and ambient loops compressed and short (loop them client-side with the loop attribute or in Web Audio) rather than shipping long uncompressed tracks; keep short sound effects small and low-latency. Decide upfront which sounds are essential versus nice-to-have, since MDN points out this trade-off directly shapes how much audio weight you can afford to ship.
If you build with an AI agent, Playgama MCP lets it upload the build and publish a sandbox link directly from Cursor or VS Code.
What actually breaks audio in a browser build?
- Autoplay: most browsers ignore automatic playback; audio must start from a click or tap, per MDN’s Audio for Web Games guide.
- Volume control: programmatic volume control can be disabled on mobile browsers, so test on-device, not just desktop.
- Buffering: mobile browsers may disable buffering before playback starts, which affects how early you can preload music.
- API choice: use the Web Audio API where supported for lower latency and effects like
playbackRate().
Test in the actual iframe context you plan to deploy to, since the first user gesture inside an iframe still has to unlock audio.
Sources
- Audio for Web games – Game development | MDN
- Audio and video delivery – Media | MDN
- Audio | Phaser Help
- Playgama for developers
Related questions
Do I need both MP3 and OGG files?
For maximum browser coverage, yes – MDN says supporting all browsers currently requires specifying two formats, though MP3/MP4 adoption in more browsers is narrowing the gap.
Why does my game’s music not play on load?
Browsers block automatic playback; per MDN, audio must be started by a user-initiated event like a click or tap, so trigger the first play from a start-screen interaction.
Should I use the
Use Web Audio where supported for lower latency and effects; engines like Phaser detect support automatically and handle audio playback in the browser.
Last updated: 30 September 2026