0
0

I am developing a multi channel player with a soundcard with

32 output channels. (16 stereo drivers are detected)

For each driver I created two ‘system’s for each mono channel.

For example,
system 1: driver1, pan: left
system 2: driver1, pan: right
system 3: dirver2, pan: left

It works fine with small number of sound cards.

However, when initializing the 16th ‘system’

it gives me a ‘FMOD_ERR_MEMORY’ error result.

I tried my program on other computers with larger memory,

However, it gives me the same result on the 16th initialization.

I play all the sounds by streaming so my program uses

only 20~30 MBs of memory when playing 8 music files at the same time.

The following is some of my codes.

[code:2jk3zmt1]
void SetSoundDevice(int driverID, float pan)
{
void SetSoundDevice(int driverID, float pan)
{
FMOD::System_Create(&m_System);

m_System->setOutput(FMOD_OUTPUTTYPE_DSOUND); 

m_System->setSoftwareFormat(44100, FMOD_SOUND_FORMAT_PCM16, 2, 0, FMOD_DSP_RESAMPLER_LINEAR); 

m_System->setDriver(driverID); 

m_System->init(8, FMOD_INIT_NORMAL, NULL); 

m_Pan = pan; 

} }[/code:2jk3zmt1]

When playing…

[code:2jk3zmt1]
void PlaySound()
{
m_System->createStream(filePath, FMOD_SOFTWARE | FMOD_2D, 0, &m_Sound);

Sound->setMode(FMOD_LOOP_OFF);

m_System->playSound(FMOD_CHANNEL_FREE, m_Sound, 0, &m_Channel);

m_Channel->setPan(m_Pan);

}
[/code:2jk3zmt1]

Is there any problem which my method?

How many multiple soundcards can I use at the same time?

Thank you for your help….

  • You must to post comments
Showing 0 results
Your Answer

Please first to submit.