FMOD Engine User Manual 2.03

11. Troubleshooting

This chapter lists a number of common issues that can be encountered while working with the Core API and Studio API, along with techniques for overcoming them.

If you encounter a problem, and none of the techniques listed in this chapter help, post a question on the FMOD Forums for advice and support.

11.0.1 Audio Becomes Crackly or Distorted Over Time

If you are finding the output of your application is starting to crackle or become distorted when playing for a long time, it is likely there are too many processes using up CPU usage. This can be due to too many large complex events playing at once, too many expensive DSPs in use such as convolution reverbs, or an excessive build up of events.

To visualize the audio CPU and memory usage of your application, you can record a Live Update profiler session in your FMOD Studio project, or if using the Core API only, utilize the FMOD Profiler provided with the API installation. This will assist in tracking down exactly where the resources are being used.

For Studio API users, some common issues that can cause a build up of events are:

11.0.2 Cannot Find Events or Buses with Strings

This usually happens because the .strings.bank file has not been loaded. The error FMOD_ERR_EVENT_NOTFOUND would be logged to the game engine's debug logger. The .strings.bank file includes all the metadata required to look up events, buses, snapshots, and VCAs during runtime.

Refer to What Building Creates in the FMOD Studio User Manual, for more information on what a strings.bank file contains.

11.0.3 An error is being returned from an FMOD function and I need more detail

All Core API and Studio API functions return a FMOD_RESULT. This result is FMOD_OK if the function works as expected, or an error error code describing the problem. You can find a list of all possible errors in the documentation for FMOD_RESULT.

If further debugging is required, you can initialize the Studio API or Core API using the logging or "L" version of the respective library, i.e.: fmodstudioL.dll or fmodL.dll. To modify the amount of logging or the way it is displayed, see Debug_Initialize.

11.0.4 My audio device does not change automatically

FMOD has an automatic device switching feature which is enabled by default.

A reason for this not to work is that an FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED callback has been registered. This callback disables the automatic device switching feature on purpose, as it assumes you will be controlling which device gets selected in the callback.