-
-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Video playback stops when entering immersive mode in Vision Pro #5469
Comments
I confirm this issue, i have a VisionPro. There are different kind of issues in many official examples, |
@Clodo76 Feel free to open additional issues if you found other bugs. Thanks |
cc @cabanier @AdaRoseCannon I think Meta browser behavior is the correct one and my hunch is that Safari's one not deliberate but not 100% sure. |
This is a known bug sorry. You can start the audio again by resuming an audio context after the session starts. Although I would prefer for this not to be fixed on the website side and to wait for a fix but I understand if you need to work around. |
@AdaRoseCannon Thanks so much for the info and the workaround. For A-Frame core I think we will wait for a fix. Not sure if there's any public info but I imagine Safari updates tied to Vision OS releases? Having an approximate time horizon / update cadence will help determine when workarounds are worth vs waiting for a fix. Thanks so much for the help |
I made a stylesheet here, i hope can be useful: About video (flat or 360 doesn't matter), when i start playback, are played in the browser. I don't report the colors issue. An example "pinch to click" for VisionPro can be integrated to fix a lots of unit-cases. I never find yet a webxr AR example working. |
Note: i made an example with video&audio 360 playback, toggle play/pause with click OR spacebar key. |
Folks this sounds insane, but I found one site that makes this work. Caveat: the journey to the solution is for the brave. It's an adult website... lmao. Tread carefully. |
@psql Thanks. This is a known bug on Safari's side. @AdaRoseCannon suggested a workaround |
@Clodo76 Please file independent issues for any individual problems you encounter. This one is just for the issues concerning video playback stopping when entering immersive mode on Vision Pro. Thanks FYI, Safari doesn't offer WebXR AR mode yet (immersive-ar). Not a bug but a deliberate decision by Apple Also A-Frame issues are for bugs in A-Frame core. For 3rd party components please report in their respective repositories. Thanks There are no issues with texture update to my knowledge. This is confirmed as a Safari bug. Quest browser works as expected |
In case it helps someone, this seems to be enough as a workaround in three.js-based apps/engines: const ctx = AudioContext.getContext();
ctx.addEventListener ("statechange", async () => {
if (ctx.state === "suspended" || ctx.state === "interrupted") {
ctx.resume().then(() => {
console. log("AudioContext resumed");
}).catch((err) => {
console.error ("AudioContext couldn't be resumed", err);
});
}
}); |
In the webxr session start event, forcing video playback works. Now need to detect for visionOS to do that. |
Don't have to detect VisionOS but a fix would require code only needed for Vision Pro. For now you can apply workaround described above. On A-Frame side we will wait for a browser fix. |
Pseudo code. platform detected goes between Ipad and MacIntel. Maybe just a straight up play is enough but I've tested this.
|
@danrossi Hmm, maybe something changed, but the Would be curious if this repro works for anyone else, or if anyone knows what to update it with to get it working? Happy to upstream it as well to fix the three.js example. webxr_repro.mp4@hybridherbst, is this fix for the video playback issue? Or just audio? I tried adding this but didn't see any difference:
Thanks for any help! |
I run all my tests under https to be able to launch webxr from my server on another machine. So try that. I'm trying to get my VR picture in picture hack working for Safari then will release my visionOS changes including transient-pointer controls support.
|
Thanks, put it up on Vercel and tested with https, but same error: https://threejs-webxr-vision-pro-video.vercel.app/ |
The AudioContext fix has unfortunately not helped for us - we have no success with audio or video once immersive mode starts. We've filed a bug on the WebKit Bugzilla so that it's in the system :-) |
@cgauld can you share code with the workaround? |
Hi @dmarcos unfortunately we don't have a working workaround :-( We had tried the code in the comment above, plus a few others, and nothing was successful. |
@cgauld Can you share the code of your "not working" workaround with https://glitch.com/~aframe ? |
|
Any updates if this has been fixed with VisionOS 2.0? Still struggling to get this to work. |
Please can you make a demo that demonstrates the issue and file a report using feedback assistant including the URL to the demo. |
@secondpathstudio Provide simple code with https://glitch.com/~aframe to reproduce the issue or it will be hard to help otherwise. Thanks |
Tested on https://aframe.io/aframe/examples/test/video/
The modal in this example generates the user gesture event that triggers video play back as expected while in 2D mode.
When entering immersive mode the video stops playing. On Meta Browser (Quest) the video playback continues as expected.
The text was updated successfully, but these errors were encountered: