What Happened?
Yesterday, while I was working on a hi-res music test (which I won’t dive into again for a couple of weeks), I ran into a problem I’d describe as predictable—and honestly, it’s the same issue we’re going to face once we launch our app.
The Core Issue: Format Inconsistency
The problem is inconsistency in file format support across operating systems and browsers.
For example:
- A file that works fine on Android might not be supported on iOS.
- Even if it is supported on iOS, Safari might:
- Not play it properly
- Only partially support it
- And vice versa.
This kind of fragmentation is a lot more common than people think.
A Real Example: ALDAC vs Android
Take this one:
Apple’s proprietary hi-res codec, ALDAC (their version of LDAC), isn’t natively supported on any Android device.
And it’s not just about audio quality.
- Sometimes, the file just doesn’t play at all.
- Even worse, if it does play and you try to skip ahead, it might:
- Crash the entire app
- Or freeze completely (which happened to me—I had to restart the app)
The Simple Fix That Just Works
So what’s the solution?
Encode nearly all audio files—especially hi-res and unsupported formats—into
.WAV
files.
Here’s why:
.WAV
is a lossless format — meaning no quality loss- It’s widely supported across platforms
- It’s the default audio format in Safari (which solves a ton of problems on iOS)
My app can:
- Detect and convert during upload, or
- Scan and convert later via IndexedDB
Why It Matters
Even if we don’t go all-in on building a hi-res player into Fanfares, I can still use this approach for the existing player.
All I need is:
One utility function — and it solves 90% of unsupported file format issues.
Final Thought
Sometimes, the fix isn’t flashy. It’s just practical. .WAV
may not be trendy, but it just works—and that’s exactly what we need.