So far, we have assumed that every operation will always work without errors. However, in a real scenario, there is room for a lot to go wrong. For example, we could try to load an audio file that does not exist.
In order to report errors, every function and method in FMOD has a return value of type FMOD_RESULT
, which will only be equal to FMOD_OK
if everything went right. It is up to the user to check this value and react accordingly:
FMOD_RESULT result = system->init(100, FMOD_INIT_NORMAL, 0); if (result != FMOD_OK) { // There was an error, do something about it }
For starters, it would be useful to know what the error was. However, since FMOD_RESULT
is an enumeration, you will only see a number if you try to print it. Fortunately, there is a function called FMOD_ErrorString()
inside the fmod_errors.h
header file which will give you a complete description of the error.
You might also want to create a helper function to simplify the error checking process. For instance...