-
Notifications
You must be signed in to change notification settings - Fork 55
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
setRoomProperties throws an error #16
Comments
This doesn't seem to be an issue until Chrome 69, which is currently in Beta, so you might not see it in the current stable version. The next upgrade is scheduled for early next week, so it will go mainstream in a few days. |
looks like i hit this problem with latest stable chrome Version 69.0.3497.81 (Offizieller Build) (64-Bit)
this breaks my app with the new chrome update |
here is a online sample https://etiennepinchon.github.io/aframe-resonance/ |
@arpu I can confirm that I get the same error on my machine (OSX, same Chrome build version) with your link. This version came out of beta and went stable a few days ago, so a plurality if not a majority of Chrome users should be running this version pretty soon. As a workaround until this gets fixed, I think you may need to recreate your resonance instance whenever the room dimensions change. You can pass the parameters to the constructor. |
@drewbitllama @mgorzel It would be great to get some clarity on this issue. The official Resonance Examples page is completely broken along with about every other website that uses Resonance when viewed on the latest Chrome. Resonance now works better on Firefox which is a bit ironic. Link to broken examples page: https://cdn.rawgit.com/resonance-audio/resonance-audio-web-sdk/master/examples/hello-world.html |
@brianchirls is correct. This is because of the recent change in Chrome's Convolver node. We (AudioWG) reverted the spec decision due to the reasonable amount of breakage. Here's the revert CL for Chrome: The revert patch was landed at 71.0.3569.0, so perhaps @drewbitllama needs to make a temporary fix that recreates a convolver node whenever a buffer changes. When 71 hits the stable, we can remove the temporary fix. |
@hoch do you know a workaround for chrome < 71.0.3569.0 ? |
This line:
Can be replaced with the following: this._predelay.disconnect();
this._convolver.disconnect();
this._convolver = this._context.createConvolver();
this._convolver.buffer = buffer;
this._predelay.connect(this._convolver);
this._convolver.connect(this.output); FYI I have not tested the code locally. (traveling atm) |
@hoch thx a lot works! |
Seems like you have a typo there. You can't connect a node to a buffer. |
The error happens in
LateReflections.prototype.setDurations
.Per the ConvolverNode spec, you can only set the buffer once. If you try to set it a second time, it throws an
InvalidStateError
. Firefox ignores this, and it is only recently implemented in Chrome, which is probably why the problem didn't show up earlier.I believe you'll need to create a new ConvolverNode when you want to change the buffer.
The text was updated successfully, but these errors were encountered: