| Summary: | Disconnecting a ScriptProcessorNode from AudioDestination permanently mutes the audio even after reconnecting the ScriptProcessorNode | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Luigi Pulcini <luigi> |
| Component: | Web Audio | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW --- | ||
| Severity: | Major | CC: | jer.noble, khushpreetk363, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 13 | ||
| Hardware: | All | ||
| OS: | All | ||
|
Description
Luigi Pulcini
2020-05-19 21:51:18 PDT
Any update on this would be much appreciated. Any app using the ScriptProcessor Node the way it was described above makes the app unusable in any version of Safari. Please give us a feedback in this regard. Thanks. This bug has not been acknowledged yet and bug #211394 did not make it to a public release yet. I am sorry for keeping pushing about this but the two bugs combined make any player using these WebAudio API techniques useless in the whole MacOS/iOS universe, which is somehow 20/25% of the whole market. I cannot stress enough how this is creating a problem to our business, especially when there is no effective way of mitigating this bug#212125 without limiting any other browser. Can please somehow verify this bug and, at least, report if they manage to reproduce it? Was this bug ever reproduced by any of you? My customers are complaining that the player is not working in Safari and I can't do anything to fix this. Please advise. Hi, I checked https://www.waveplayer.info/ and seems like this issue doesn't persists anymore. Audio also starts playing as expected along with waveform animation after 'Pause' and 'Play'. Tested on iOS 13.6 on iPad mini 4, if this is of any help :-) Tested on Safari (13) and also, on Safari in Mac(version 10.15.6). Hi, Khushpreet. Thank you so much for checking this. Since the website I initially linked here is used to promote the player, I had to implement a different strategy where the scriptProcessorNode always stay connected even when pressing the pause button. This is the only way to make it work with Safari. If you want to verify the wrong behavior, you can check the following staging website: https://www.staging2.waveplayer.info Thanks again for checking this. Best, Luigi. Hi Luigi, Yes, I was able to reproduce the issue here - https://www.staging2.waveplayer.info and console doesn't throw any error. Just curious, if you are catching 'NotAllowedError' exception when resuming the audio? Because I had the same issue on play because I was using the callback before playing mediaElement something like as follows: mediaElementSource.context.resume().then( function() { mediaElementSource.mediaElement.play(); } ) and since, play() also returns a promise, I wasn't able to actually hear the audio, (played on mute). I had come across an online resource which said that audioContext only needs to be resume once, also not to loose user gesture, So, I changed the code in my play() as below: mediaElementSource.context.resume(); mediaElemntSource.mediaElement.play(); and resume the context in my Pause(). I have implemented the player same way and disconnect the scriptProcessor node. Play and pause works as expected. If this is of any help again :) Regards, Khushpreet |