I’m using 4.18.4 version and having a problem with setSpeakerLevels() function.
My speaker mode is FMOD_SPEAKERMODE_QUAD and it means I have front left, front right, rear left and rear right speakers.
If I call setSpeakerLevels() with FMOD_SPEAKER_FRONT_LEFT and FMOD_SPEAKER_FRONT_RIGHT, it works fine. (returning FMOD_OK)
However, with FMOD_SPEAKER_BACK_LEFT or FMOD_SPEAKER_BACK_RIGHT, it returns FMOD_ERR_INVALID_PARAM.
I’ve experimented with the other FMOD_SPEAKERs such as FMOD_SPEAKER_FRONT_CENTER, FMOD_SPEAKER_LOW_FREQUENCY, FMOD_SPEAKER_SIDE_LEFT and FMOD_SPEAKER_SIDE_RIGHT.
And, I’ve found that FMOD_SPEAKER_SIDE_LEFT and FMOD_SPEAKER_SIDE_RIGHT have the same problem. (i.e. returning FMOD_ERR_INVALID_PARAM.)
With SPEAKER_FRONT_CENTER and FMOD_SPEAKER_LOW_FREQUENCY, it returns FMOD_ERR_INVALID_SPEAKER as it is expected.
Could anyone tell me why using back right, back left, side right or side left makes setSpeakerLevels() returning FMOD_ERR_INVALID_PARAM ?
Thanks in advance!
- young asked 8 years ago
I’ve realized that setSpeakerLevels() always return invalid param error if the speaker index is greater than or equal to the number of output channels.
It seems the author forgot that back_right and back_left speakers are greater than the number of output channels which is 4 for quad speaker mode?
Please login first to submit.