Comment by api
Apps shouldn’t even have local volume controls. It’s an OS function.
Apps shouldn’t even have local volume controls. It’s an OS function.
It's a problem because the OS doesn't mandate control. If every app had to function via OS volume controls and APIs, the world would be a wonderful place.
Truly first-class audio with sublime control plane ergonomics.
That'll never happen since any random app developer can just multiply audio volume by a float in whatever API and attach their own unique take on a slider. I'll merit the cases where you need to have individual level and channel controls, such as editing software and professional music tools, but most apps are not these.
It's times like this when I do appreciate Apple's dictatorial take on things, though even they could not win this fight.
Yes and no.
Clearly there is a need to give different volumes to different apps, so you can have quiet background music while a timer app is louder, or Zoom is louder.
Ideally there would be an OS-level mixer to independently set the volume of each app. I believe Windows has this, Mac definitely doesn't. And for convenience, an app's local volume control would exist, but set it at the OS mixer level, so you don't have them competing with each other.
But without this, an app does have to have local volume controls.
Also, it's important to be able to set gain as well, i.e. turn the volume "above 100%". For those YouTube videos that for some reason are only 5% as loud as other videos. Even better is if you can set the gain per-video so that it won't be absurdly loud and clipping when you move on to the next video.
Bonus points if an OS or media player ever gives the option of a dynamic compressor, so you can actually listen to those amateur podcasts where one speaker's microphone is 10x quieter than another's. Or listen to the quiet parts of classical music recordings even in the presence of background noise.
Not affiliated at all but just came across and I wish this was built in to windows: https://github.com/File-New-Project/EarTrumpet
I do not want to have to go hunt down the app in a list of all currently running apps in some os-level mixer to turn down or up one app. It is absolutely both an os and an app function. Both are needed.