Per autoplay policy, an AudioContext won't be allowed to run until a user gesture of some sort happens. Calls to audio-context-timers.setTimeout
made before this happens won't function as expected.
One solution: expose the audio context used to provide the timer service. Clients can then observe that context to see when it should be safe to use its timers.
Another solution might be to allow clients to provide the AudioContext. This would also allow clients to better manage the number of AudioContexts running around and avoid possibly bumping up against browser limits.