I’m working on a new version of an existing iPhone app that I did not develop, and it plays its audio using FMOD.

The company has a number of apps out there – mostly the same structure/code. All use FMOD for audio.

The problem comes when I use one of the company’s existing apps first, then try to run this new one that I’m developing. They have very different app IDs, but somehow one app is causing problems with the other.

If I run one app, then leave it in the background and run the second app, the sound in the second app doesn’t play at all. I can go back to the first app and play sound without problems. If I kill both apps, and start the other one first, then it works perfectly.

I’m getting two FMOD errors:

Firstly, when I run:
[code:28pu4kzv]result = fmodSystem->init(4, FMOD_INIT_NORMAL | FMOD_INIT_ENABLE_PROFILE, NULL);[/code:28pu4kzv]
I get error 51: [quote:28pu4kzv]A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere.[/quote:28pu4kzv]

Secondly, when I run:
[code:28pu4kzv]result = fmodSystem->createSound((const char *)[audioData bytes], FMOD_SOFTWARE | FMOD_OPENMEMORY, &exinfo, &fmodSound);[/code:28pu4kzv]
I get error 79: [quote:28pu4kzv]This command failed because System::init or System::setDriver was not called.[/quote:28pu4kzv]

The second seems to be because the init failed.

  • You must to post comments

The reason the second app is not launching is because the socket used for FMOD_INIT_ENABLE_PROFILE is already in use. You can specify an alternate port with System::setAdvancedSettings.

However, the bigger issue is that the existing apps are using FMOD_INIT_ENABLE_PROFILE in a release product, profiler should only be enabled for development, not shipping.

Also, yes, the second error is because System::init failed.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.