Supported Codecs
On mobile OS
Actually, the following codecs are supported by flutter_sound:
| iOS encoder | iOS decoder | Android encoder | Android decoder | |
|---|---|---|---|---|
| AAC ADTS | ✅ | ✅ | ✅ (1) | ✅ |
| Opus OGG | ❌ | ❌ | ❌ | ✅ (1) |
| Opus CAF | ✅ | ✅ | ❌ | ❌ |
| MP3 | ❌ | ✅ | ❌ | ✅ |
| Vorbis OGG | ❌ | ❌ | ❌ | ✅ |
| PCM16 | ✅ | ✅ | ✅ (1) | ✅ |
| PCMFloat32 | ✅ | ✅ | ✅ (1) | ✅ |
| PCM Wave | ✅ | ✅ | ✅ (1) | ✅ |
| PCM AIFF | ❌ | ✅ | ❌ | ❌ |
| PCM CAF | ✅ | ✅ | ❌ | ❌ |
| FLAC | ✅ | ✅ | ❌ | ✅ |
| AAC MP4 | ✅ | ✅ | ✅ (1) | ✅ |
| AMR NB | ❌ | ❌ | ✅ (1) | ✅ |
| AMR WB | ❌ | ❌ | ✅ (1) | ✅ |
| PCM8 | ❌ | ❌ | ❌ | ❌ |
| PCM WEBM | ❌ | ❌ | ❌ | ❌ |
| Opus WEBM | ❌ | ❌ | ❌ | ✅ |
| Vorbis WEBM | ❌ | ❌ | ❌ | ✅ |
This table will eventually be upgraded when more codecs will be added.
- ✅ (1) : needs MinSDK >=23
On Web browsers
| Chrome encoder | Chrome decoder | Firefox encoder | Firefox decoder | Webkit encoder (safari) | Webkit decoder (Safari) | ||
|---|---|---|---|---|---|---|---|
| AAC ADTS | ❌ | ✅ | ❌ | ✅ | ❌ | ✅ | |
| Opus OGG | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | |
| Opus CAF | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | |
| MP3 | ❌ | ✅ | ❌ | ✅ | ❌ | ✅ | |
| Vorbis OGG | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | |
| PCM16 | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | (must be verified) |
| PCM Wave | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | |
| PCM AIFF | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| PCM CAF | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | |
| FLAC | ❌ | ✅ | ❌ | ✅ | ❌ | ✅ | |
| AAC MP4 | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | |
| AMR NB | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| AMR WB | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| PCM8 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| PCM F32 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| PCM WEBM | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| Opus WEBM | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | |
| Vorbis WEBM | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ |
- On Webkit (Safari and all browsers on iOS) we can only record MP4.
- Opus WEBM is a great Codec. It works on everything (mobile and Web Browsers), except Apple :-(
- Edge is same as Chrome