Bonjour!
J'ai un problème avec un pointeur et je ne comprends pas l'origine de soucis.
Ce qu'il se passe c'est que je crée mon pointeur ISound* via ma classe CGameSound.
Pour l'exemple je l'ai déclaré en private par ISound* sound3D[2];
Quand j'initialise dans le main je fais load_game_engine() qui me crée le SoundEngine.
Ensuite j'utilise une strucure SOUND_3D_t pour créer une config de son 3D.
Le soucis c'est que si je fais sound3D[0] = SoundEngine->play3D(...) dans la fonction load_game_engine(), mon pointeur est bien créé et il contient une valeur.
Mais mon but c'est de le créer dans la fonction create_sound3D(SOUND_3D_t &userSound), et pour le même sound3D[0] = SoundEngine->play3D(...), je constate quand je fais if (this->sound3D[userSound.id]) que mon pointeur vaut 0 alors que le son est joué et le programme se lance.
C'est bloquant car si je veut faire un sound3D[0]->setVolume(...), le programme plante littéralement.
J'ai essayé pleins de choses, j'ai même tout recodé plusieurs fois et de plusieurs façons mais rien n'y fais, il y a quelque chose que je fais mal mais je ne vois pas.
Si quelqu'un peut m'éclairer ...
Code de CGameSound.cpp
Code de CGameSound.h
Structure sound
Code du main
Hors ligne
Problème résolu !
Ne me demandez pas pourquoi, mais dans la fonction play3D il faut activer le paramètre "track" (=true) pour que çà fonctionne.
Voila merci qd même
Hors ligne
edit: ok !
ps:
You don't check if play2D returns a valid pointer. According to the docs Only returns a pointer to an ISound if the parameters 'track', 'startPaused' or 'enableSoundEffects' have been set to true. Note: if this method returns an ISound as result, you HAVE to call ISound::drop() after you don't need the ISound interface anymore. Otherwise this will cause memory waste. This method also may return 0 altough 'track', 'startPaused' or 'enableSoundEffects' have been set to true, if the sound could not be played.
Dernière modification par Magun (22-05-2017 23:35:43)
Hors ligne
Avec l'explication c'est mieux.
Oui mais j'aurais jamais imaginé que çà puisse éxister ainsi !!
Merci bien!
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 60 invités en ligne Aucun membre connecté RSS Feed |