You could use the FMOD_DSP_METERING_INFO to get the levels for each channel.
We do a similar thing in the Unity integration for the debug window.
Here is a sudo code example of what you could do:
startup
{
system->getMasterChannelGroup(master)
master->getDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, mixerHead)
mixerHead->setMeteringEnabled(false, true)
}
game loop
{
mixerHead.getMeteringInfo(0, outputMetering)
for each (i = outputMetering.numchannels)
{
value = outputMetering.rmsLevel[i] * outputMetering.rmsLevel[i]
// Each channel represents a speaker.
// Here it is up to you what you do with this information.
// In Unity we combine all the values to give one overall value.
//
}
float db = value > 0 ? 20.0f * Log10(value * Sqrt(2.0f)) : -80.0f;
if (db > 10.0f) db = 10.0f;
}
https://fmod.com/resources/documentation-api?version=2.0&page=core-api-dsp.html#dsp_getmeteringinfo