Page 1 of 1

Why EOS teases sometimes have no sound in Firefox

Posted: Fri May 15, 2026 9:25 pm
by iCouteurs
I have found why audio doesn't play inside some EOS teases.

For instance, this tease: Simple Edging (preview is on, you can skip to page cEdging-1) has no metronome sound in Firefox, whereas it works just fine in Chrome.

Basically, what happens is:
  • The browser loads Howler.js, the library used by EOS to play audio.
  • Whenever the EOS script specifies audio must be played, Howler.js sets up playback as needed, using the Web Audio API.
  • It then asks the browser to retrieve one or more MP3s from media.milovana.com.
  • Once the MP3 file is downloaded, it's fed to the browser's decodeAudioData function.
  • Decoding fails with DOMException: The buffer passed to decodeAudioData contains an unknown content type.
It turns out some audio files have been converted by Milovana's media server from WAV to MP3, and due to a fairly recent PHP update, a PHP warning has been prepended to these files:

Code: Select all

<br />
<b>Deprecated</b>:  Creation of dynamic property Wav2Mp3::$stereo is deprecated in <b>/usr/local/var/www/download.php</b> on line <b>34</b><br />
This means that playback works in Chrome but not in Firefox due to an implementation detail: Chromium-based browsers are fine with MP3 files with extra data prepended to them, but not Firefox, which throws an exception.

A workaround is to use the following uBlock Origin custom filter:

Code: Select all

eosscript.com#%#//scriptlet('set-constant', 'Howler.usingWebAudio', 'false')
This will force Howler.js to use its HTML5 backend.

Server-side, I have identified multiple ways of solving this:
  1. Actually fixing the issue by removing the use of dynamic properties in this PHP class, and regenerating all affected audio files. This will make the warning go away and Firefox will be happy again. (I would also suggest turning off PHP error reporting.)
  2. Modifying calls to Howler.js to use the HTML5 backend, rather than the Web Audio API. This workaround could also potentially improve audio start delay.
Hope this helps!
i.

Re: Why EOS teases sometimes have no sound in Firefox

Posted: Sat May 16, 2026 3:32 pm
by SubZ
Whoa! Very cool, I've been using Firefox and you've fixed an issue I didn't even realize I had. Simple edging is not the only tease I've noticed where i thought the audio was broken. Its amazing having literal tech wizards in this community. This entire site wouldn't be possible for people like me without you. Thank you for the fix.

(that gives me an idea for a web-tease where a Dom teaches you web based programming because they need someone to manage their website, and you're denied until you learn some basic coding that you can use to get a password from html to continue the tease. gamified learning! could literally apply that concept to any learning material Make a training series)

Re: Why EOS teases sometimes have no sound in Firefox

Posted: Sat May 16, 2026 6:38 pm
by PlayfulGuy
Awesome! Thanks for figuring that out.

And I learned more about what you can do with uBlock origin filters! Cool stuff.

PG