1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
FMOD::System *system = 0;
FMOD::Sound *sound, *sound2;
FMOD::Channel *channel = 0;
FMOD_RESULT result;
void *ptr1, *ptr2;
unsigned int len1,len2
FMOD_CREATESOUNDEXINFO soundexinfo;
result = FMOD::System_Create(&system);
result = system->setOutput(FMOD_OUTPUTTYPE_ALSA);
result = system->init(32,FMOD_INIT_NORMAL, 0);
result = system->createSound("ocean.wav",FMOD_SOFTWARE, 0,&sound);
result = sound->setMode(FMOD_LOOP_OFF);
sound->getLength(&len1,FMOD_TIMEUNIT_MS);
sound->lock(0,len1,&ptr1,&ptr2,&len1,&len2);
memset(&soundexinfo, 0, sizeof(FMOD_CREATESOUNDEXINFO));
soundexinfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);
soundexinfo.length = len1;
system->createStream((const char *)ptr1, FMOD_HARDWARE | FMOD_OPENMEMORY, &soundexinfo, &sound2);
sound->unlock(ptr1,ptr2,len1,len2);
result = system->playSound(FMOD_CHANNEL_FREE, sound2,0,&channel);
while (1) ;
result = sound->release();
result = sound->release();
result = system->close();
result = system->release();
return 0; |
Partager