I have a game that is built as a PWA and the minute I add sounds that overlap, everything goes to pot on mobile. The sounds work perfectly on desktop, but on an iPhone X the behavior is drawing and sounds get randomly delayed and serialized. So even though on the desktop the visual of a block dropping is accompanied by the sound of a block dropping, on mobile I get one or the other first, and if I do 16 in a row, I'll get some set of each before or after one another (3 sounds, 8 visual animations, 6 sounds, 5 visual animations, 2 sound, 3 visual animations).
I'd rather not use a dependency like Howler.js, but have decided to do so.
I've tried both DOM audio elements and new Audio() objects in javascript. Nothing seems to make it better. Thoughts?
To see this in action - https://staging.likeme.games