I’ll say one more thing, because I don’t want you to think that I’m belittling your interest in this.
It is likely that the spec say 0.0 to 1.0, because it can guarantee that those values will be supported, AND more importantly, that all libraries that are used (regardless of device and OS) those values will represent 0% and 100% respectively.
Yeah, but why are higher values supported in some situations and what is going on?
Now, I’m really guessing here (but it’s a guess based on experience coding up engines)…
on some OSes Corona is using libraries that support values higher than 1.0 and in fact probably all the way up to the largest number supported by the OS.
What this is doing is simple. It is multiplying the sound by the value, but capping it internally at some unpublished maximum. Alternately, there is no limit and sounds will eventually clip, but I kind of doubt this last idea.
@ Other devs and sound folks,
If anyone wants to weigh in here, please do.
To close my comment/response, I want to go back to my original point. As long as you follow the spec, you’ll be fine and you’ll get consistent behavior. If you stray outside of that and it malfunctions in some cases, that is going to be on you.
Question - It occurred to me at the end that maybe you’re trying to find the maximum value you can dial a sound up to before it clips? If that is the case, please say so. I will say that audio.* is not meant or that kind of ‘find the max volume w/o clipping’ kind of work.