Check with tabvisibility events and see If I get correct events on the frames that have sounds
Alright. The browser can definitely autoplay audio without gesture (based off of Gecko), it works sometimes on Sketchfab. Can you clarify what I should look into with regards to tab visibility? You mentioned tab switching and visibility events. When does the audio code run? What happens if the audio code runs when the tab is not visible? If the tab becomes visible, will the audio code reattempt?
From specs webvr 1.1:
Yeah, sorry for the off-topicness on that. But interesting to talk about. It’s may, but more in WebVR, it increasingly should be should. The spec was written, though not many people were really consuming WebVR, not much content was out there, and not much was connected. It’s evolving a bit more now.
vrdisplayactivate is what powers link traversal (Firefox, Oculus, Edge, Supermedium), and is what Supermedium uses when navigating to a Sketchfab model. Without it, any VR site going to Sketchfab will essentially hit a dead end as Sketchfab doesn’t auto-enter VR. So by adding it, Sketchfab becomes connected to the VR Web. Many tools/sites follow this pattern (e.g., all three.js/A-Frame/Within content).