[quote="mathew":2v8ofwu8]No, there is no ability to control the device volume.[/quote:2v8ofwu8]
Is that a FMOD fail or just a iPhone SDK reqwuirement?
I mean, let’s say I don’t use FMOD, instead I use openal or whatever, can I still do it?
Thanks for reply.
- riruilo answered 9 years ago
Using the API that FMOD is implemented with the hardware volume is readonly. Generally things like final mixed volume control (or hardware volume) are left in the hands of the user.
You can probably pop up a volume control widget to allow the user to do it but as for programatically setting the volume I am not sure. Using FMOD you can of course tweak the volume of each channel and group, including the final mix. But it will all be scaled by what the user has set as their volume.
I’m not an iPhone developer, but I suspect that the ability to control the iPhone OS system volume is not available on purpose.
Imagine, for a moment, that there were a public API for controlling the iPhone system volume from a public app. Now you can pop up your system volume slider, and the system volume changes.
Now, what if two programs could do this? You set your system volume to a comfortable level. You switch to program B, and it thinks that you’ve set the volume somewhere else (either mistakenly or maliciously), and all of a sudden your speakers are blasting out noise. (Envision a nasty program that would force your OS volume to max and start spewing out obscene or pornographic sounds…the possibilities for mischief are endless.)
Imagine, also, a situation where you have two programs running at once (I know that the iPhone doesn’t have this yet, but it might have it in the future). The developers of Program A decide that "well gee, we really want to make sure that no other program can come in and modify the OS volume that we’ve set," so they write a little loop that wakes up once a second and forces the volume to whatever they think you’ve set it to. Meanwhile, the developers of Program B have decided the exact same thing, and gone and put a similar loop in their program.
Now, you run Program A and Program B, and set their OS volume sliders to different levels. Watch them fight it out over your hardware volume settings, when really, you just wanted to have a nice comfortable listening volume for your music.
As I said, I’m not an iPhone developer, and these are just educated guesses, but I suspect that they may not be far off the mark.
- Adiss answered 9 years ago
A lot of what you say is relevant. It is generally frowned upon having an application alter a system setting like system volume. It is for this reason we don’t expose the feature in FMOD.
Technically some platforms give you a way to do it, but it’s generally not a nice user experience.
Please login first to submit.