h43z Profile picture
Oct 19 9 tweets 3 min read Read on X
The sound of silence

Many websites are using your browser's Web Audio API, but they are using it incorrectly.

The broken code leads to an constant stream of silent audio playing through your speakers or headphones.

This can drain your batteries twice as fast or ...

1/x Image
lead to bluetooth troubles and stop your device from going into power saving mode.

So far I know these websites have this issue

x.com if you click anywhere on the page
translate.google.com if you click listen
office.outlook.com on notification sound
The core of the problem is I think if websites create an new AudioContext in javascript (for whatever reason) and never suspend them.

I created a test website
So you can test your browser/os.

In windows you can check...editor.43z.one/sqare/i
running audio streams from your terminal with

powercfg /requests

in linux with

pactl list sinks short
(and powertop to see power consumption)
Ideally the audiostreams should become suspended and/or idle if there is no sound playing.

It seems like chrome anticipated bad website programmers and and has some internal logic to suspend the stream on it's own after 20 sec or so.

But to the website the audio context will...
still be in the state of "running".

Unfortunately firefox has no remedy for this long standing problem.

bugzilla.mozilla.org/show_bug.cgi?i…
bugzilla.mozilla.org/show_bug.cgi?i…
bugzilla.mozilla.org/show_bug.cgi?i…
One can monkey patch the AudioContext function by creating an extension which auto suspends it but this may lead to unwanted side effects. As suspended audiocontext cannot be reused by the website. (no sound will be playing)

But maybe I can come up with some solution... 🫡
I created a Firefox Extension that hooks calls to audiocontext and autosuspends the context after 4 seconds. This may lead to missed sounds but is much better than wasting CPU and battery 🔋(should not affect Videos and Audio played by html tags)

addons.mozilla.org/en-US/firefox/…
@threadreaderapp unroll

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with h43z

h43z Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(