Hacker News new | ask | show | jobs
by fireattack 1920 days ago
Could you elaborate a little bit? Just curious about the technical side of creating this cool application.
2 comments

It's the setSinkId function which let's you select an audio output (https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaEl...) but it looks like I was mistaken -- it should actually also work with Edge and Opera. Will update the message for clarity...
Looks like it is supported on Firefox, but disabled by default, and requires an about:config tweak: https://caniuse.com/?search=setSinkId

Its MDN doc (https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaEl...) shows it as a not-quite-finalized feature, but even so, seems odd to have a pref just for it.

Also of note that Firefox's Web Audio API implementation just isn't very good in general. It's my daily driver, but I won't run Airsonic in it, because after half an hour or so the music reliably starts glitching. Fine in every other client, so it's definitely a Firefox thing, and iO-808 [1] also calls it out in an alert if you go there in Firefox. (And also starts glitching out after a while, if you decide to ignore the alert and take your chances.)

Granted, a glitchy audio implementation might be just the thing for this use case...

[1] https://io808.com/

Thanks, every time I see such a message I wish it had an expandable paragraph telling me what prevents it working with Firefox.

Mentioing the info from kelnos' comment would be excellent.

It should work with Brave too.
I’m interesting in knowing as well which standard in particular is being used which only Chrome supports. I was under the impression that the Web Audio API[1] was fairly well supported cross all modern browsers.

1: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_A...