MBXHub

Browser Audio Format Support

Supplemental reference for Listen Here (browser-side playback). It covers exactly the audio extensions GET /stream serves.

This table is documentation, not configuration

The product never reads it. The play page asks each browser live via canPlayType and only a definite “no” blocks a track — so when a browser gains a codec, Listen Here picks it up with zero code change. This page exists so humans can reason about what listeners will experience.

The table

As of July 2026, current browser versions. ✅ plays  ·  ⚠ see note  ·  ❌ does not play

ExtensionCodec / containerChrome / EdgeFirefoxSafari macOSSafari iOS
.mp3MPEG-1 Layer 3
.aacAAC (ADTS)
.m4aAAC in MP4
.m4aALAC in MP4
.flacFLAC✅ 56+✅ 51+✅ 13+✅ iOS 11+
.ogg / .ogaVorbis in Ogg✅ 18.4+ ✅ 18.4+
.opusOpus in Ogg✅ 33+✅ 15+⚠ 18.4+⚠ 18.4+
.wavPCM
.aiff / .aifPCM (AIFF)
.wmaWindows Media

Notes

What the play page actually probes

Per extension, Listen Here probes candidate MIME strings and blocks only when every candidate returns '' (a definite no):

ExtensionCandidates probed
.opusaudio/ogg; codecs="opus", audio/opus
.flacaudio/flac, audio/ogg; codecs="flac"
.m4aaudio/mp4, audio/mp4; codecs="mp4a.40.2"
othersthe single MIME type /stream sends as Content-Type

The .opus double-probe exists because audio/opus is the RTP payload type, not the file type — Chromium answers it '' while playing the file fine; audio/ogg; codecs="opus" is the honest question.

Practical reading