|
|
|
|
|
by kevingadd
4623 days ago
|
|
Even if apps using Web Audio didn't do user-agent detection, many of them would need to be updated anyway because Web Audio (as it shipped in Chrome, at least) is a steaming pile. It's incredibly poorly specified in areas that matter when it comes to compatibility - for example: You can't reliably detect the audio formats Web Audio can decode, and they vary both across hardware and software configurations (because the spec doesn't specify them), so your only choice is to download an entire audio file, try to decode it, and if you fail, download another and try that. Worse still, the <audio> mechanism of handing the browser a list of sources (so it can try to aggressively reduce wasted bandwidth) doesn't work because Web Audio requires you to download a full file before it can be decoded. Oops! Shipped demos out there rely on Chrome-only Web Audio features that never made it into the spec, because Web Audio was written first as a non-portable implementation and then haphazardly turned into a spec while people were already building code against that implementation. The spec changed after Google shipped it to the public (without putting it behind a flag or otherwise versioning it) so there are corner cases (albeit mostly small ones) where two spec-compliant implementations (Firefox and Chrome's for example) will produce different output. The only way to address some of these is update the application. On the bright side, devs from both Mozilla and Google (among others) are working hard on addressing the issues, so it'll probably be fine in a year or so. |
|