#0 

13-01-2008 17:03:17

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Salut,
Je voudrais mettre de la musique dans mon jeu.
Le problème c'est que je sais faire exécuter une musique mais après, je ne sais pas comment en mettre une autre.
Enfin si je sais comment faire mais je voudrais pouvoir détecter la fin de la musique écoutée précédemment pour pouvoir écouter la suivante.
Je peux mettre toutes les musiques dans le même fichier mp3 mais il fait 72 Mo, c'est un peu trop je pense. wink

Avez vous une autre solution ?

Merci d'avance.

Gp2mv3

P.S.: Je ne sais pas si c'est la bonne catégorie et si c'est pas la bonne, je m'en excuse.


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#1 

13-01-2008 22:07:23

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Heu c'est pas moi qui code sur IrrKLang dans mon équipe mais je crois qu'il y a une fonction du genre irrklang::ISound::isFinished smile


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#2 

14-01-2008 02:19:00

ptitfred
Membre
Lieu: Paris
Date d'inscription: 17-02-2007
Messages: 21
Site web

Après une recherche rapide dans la document d'Irrklang on trouve de quoi personnaliser le contrôle des sons que tu joues de façon événementielle (http://www.ambiera.com/irrklang/docu/index.html#events).

Il s'agit en effet du modèle classique de contrôle pour tout traitement qui s'exécutera en parallèle (puisque Irrklang "joue" les media en parallèle de ton code, sinon, tu aurais des soucis à l'affichage).

L'idée de base et de permettre à l'utilisateur (ie toi, l'utilisateur de la bibliothèque) d'écrire du code qui va être déclenché à des instants particuliers, dont tu ne maîtrises pas l'apparition (des événements asynchrones).
Donc tu trouveras dans la document de l'API toutes les informations détaillées pour implémenter tes propres gestionnaires d'événements.

Ce patron de conception est très répandu dans les API d'interfaces graphiques (où c'est l'utilisateur humain qui déclenche les événements par ses entrées souris et clavier).

Je pense que tu toucheras du doigt une autre difficulté : comment faire que ton gestionnaire d'événement s'intègre dans la boucle principale de ton moteur ?
Si l'objectif est d'enchaîner les lectures de mp3, tu peux faire que ton gestionnaire d'événements de lecture déclenche la lecture du fichier suivant à la fin du précédent (en pensant bien à charger et décharger les ressources au besoin).
Et si tu souhaites que l'utilisateur puissent contrôler la lecture (pause, suivant, précédent, lecture...) tu ajoutes le code de lecture à ton gestionnaire du clavier (ou de l'ihm pour la souris). Et là c'est encore un autre problème d'architecture globale.

Ta question est donc peut-être bien plus importante que tu pouvais ne l'imaginer à la base smile

J'espère répondre à ta question.
Je m'excuse de ne pas avoir posté de code : je ne pense pas pouvoir faire mieux que la doc de l'Irrklang.

cdlt

Hors ligne


#3 

14-01-2008 18:21:34

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Merci pour ta réponse.
Je ne savais pas qu'il y avait une API Irrklang mais je vais aller y faire un tour. wink
Merci pour les explications.
Effectivement, j'ai sous estimé le problème...
Je vous tiendrais au courant.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
881 membres
1426 sujets
11116 messages
Dernier membre inscrit: Bidule
12 invités en ligne
Aucun membre connecté
RSS Feed