Bonjour,
J'ai un petit souci de compréhension, donc j'ai mis du son dans mon petit projet avec cette fonction :
Code :
- void playSound(char* path)
- {
- SDL_AudioSpec wavSpec;
- Uint32 wavLength;
- Uint8 *wavBuffer;
- SDL_LoadWAV(path, &wavSpec, &wavBuffer, &wavLength);
- SDL_AudioDeviceID deviceId = SDL_OpenAudioDevice(NULL, 0, &wavSpec, NULL, 0);
- SDL_QueueAudio(deviceId, wavBuffer, wavLength);
- SDL_PauseAudioDevice(deviceId, 0);
- if (SDL_GetQueuedAudioSize(deviceId) == 0) {
-
- SDL_CloseAudioDevice(deviceId);
- SDL_FreeWAV(wavBuffer);
- }
- }
|
que j'appelle à chaque fois que nécessaire. Mais le son va se jouer un certain nombre de fois ( par exemple le petit son du hover lorsqu’on passe sur un bouton) puis après plus rien.
J'ai bien compris que lorsque le GetQueuedAudioSize = 0, plus rien ne sort, mais je pensais qu'en rappelant la fonction ça réinitialise mais rien du tout.
Il y 'a quelque chose que j'ai pas compris, pouvez vous m’éclairer ?
ps : Pour info, je n'ai pas le droit à une autre lib.
Merci
Message édité par R-a-p-h2 le 01-03-2019 à 09:40:32