0
0

We are having an issue on XBox360 (and PC too) where FMOD Events whose sounds are mono are coming out of only one ear of the headphones. It was suggested here that maybe we are initializing something incorrectly, so here is our initialization code:

FMOD::Debug_SetLevel(FMOD_DEBUG_LEVEL_NONE);
FMOD_ASSERT(FMOD::EventSystem_Create(&mpEventSystem));

int numInputChannels, numOutputChannels, sampleRate, bits;
FMOD_SOUND_FORMAT soundFormat;
FMOD_DSP_RESAMPLER resampleMethod;
FMOD::System *pSystem;
FMOD_RESULT result;

mpEventSystem->getSystemObject(&pSystem);

// forcing to 8 input channels
result = pSystem->getSoftwareFormat(&sampleRate, &soundFormat, &numOutputChannels, &numInputChannels, &resampleMethod, &bits);
numInputChannels = 8;
result = pSystem->setSoftwareFormat(sampleRate, soundFormat, numOutputChannels, numInputChannels, resampleMethod);

FMOD_ASSERT(mpEventSystem->init(64, FMOD_INIT_NORMAL, 0, FMOD_EVENT_INIT_NORMAL));
FMOD_ASSERT(mpEventSystem->getSystemObject(&mpSystem));

// Check FMOD version.
unsigned int version;
FMOD_ASSERT( mpSystem->getVersion(&version) );
Assert( version >= FMOD_VERSION, ( "FMOD version out of date. Currently %08x, requires %08x.\n", version, FMOD_VERSION ) );

// increase FMOD stream buffers to prevent skipping
static const unsigned int STREAM_BUF_SIZE = 128*1024;
mpSystem->setStreamBufferSize(STREAM_BUF_SIZE, FMOD_TIMEUNIT_RAWBYTES);

// build a platform-specific path to where the event-based sounds are lurking
char path[256];

ifdef PLATFORM_WIN

strcpy(path, ".\Sounds\FMOD\pc\");

elif PLATFORM_PS3

strcpy(path, "./Sounds/FMOD/ps3/");

elif PLATFORM_XBOX

strcpy(path, ".\Sounds\FMOD\x360\");

endif

SetPath(mMediaPath, path);

if ( mMediaPath )
{
FMOD_ASSERT(mpEventSystem->setMediaPath(mMediaPath));
}

Are we doing something wrong in this initialization?
Or is there something we are doing wrong in the flagging of the events in FMOD Designer?

  • You must to post comments
Showing 0 results
Your Answer

Please first to submit.