I should be able to set my devices to a general decibel preference rather than an arbitrary volume level, so my headphones don’t blow out my ears when I switch from YouTube to music.
It would also be nice to be given a decibel reading in the first place so I can communicate how much is too much across platforms.
That would make headphones more expensive and prone to breaking.
I KNOW RIGHT how is life this unfair?
Your device cannot actually know how many dB of sound it is generating. That’s not a decision your device makes. Your device sends an audio signal of some certain strength to your speaker, and then the properties of your speaker, combined with the strength of the signal, combine to generate the sound level.
So in order to set the sound level directly on your device, it has to communicate with your speakers/headphones/whatever to learn how much they amplify/attenuate the signal. This means your speakers now need to have a chip in them they didn’t need before, one more component that must be paid for, one more component that can fail.
You can do some clever things with active detection – run a signal out and see what happens – but consider e.g. in-the-ear versus cup-over-the-ear headphones – if all the wiring is the same and the signal is the same, the device will think they’re making the same amount of sound which will not be the case.
Couldn’t you just stamp the numbers on the side of the headphones and let the user put them in manually?
Oh absolutely, there are all kinds of solutions but “user input” is a dead design pattern. Nobody does it, because nobody expects the user to be able to handle anything as simple as a fried slice.
This is partially because of the incredible proliferation of electronic devices with no standard interface – the more devices you have to learn to use, the less skilled you will be with each individual device – and the less likely to learn, because experimenting with your device will break your device. This isn’t so true any more but it was true when most users were growing up and learning in the fist place.
A more realistic solution would be for all manufacturers of passive devices (without internal electronics, like most headphones) to settle on a standard impedance and all manufacturers of active devices (with internal electronics that can communicate with your device) to settle on a standard protocol for transmitting desired dB information.
Even this probably won’t actually happen because (1) that’s a lot of people who need to sit down together and hash out a standard which is really hard and e.g. Apple doesn’t even like to follow standards in the first place and (2) impedance is actually one of the things top-shelf headphone manufacturers compete on so they’re not going to settle on one value. (Note that issue 1 also affects the “label your headphones for user input” solution)
In the glorious transhumanist space future, I expect this to be solved. Today? Nope. No money in it.
TL;DR: We make too many different interfaces that will kill your expensive machine if you experiment -> Users don’t experiment -> Users don’t learn -> we make better devices that don’t break and don’t need experimenting -> users still don’t experiment -> Users still don’t learn -> Users only do the completely obvious things. “Input headphone impedance” is not obvious enough to clear even that low a bar.