Bonjour, j'aimerais savoir si il est possible d'utiliser une musique qui est déjà en mémoire et de la jouer au lieu de la charger depuis le disque ?
Merci.
Bonjour, j'aimerais savoir si il est possible d'utiliser une musique qui est déjà en mémoire et de la jouer au lieu de la charger depuis le disque ?
Merci.
Bonjour,
Oui, c'est possible : http://www.libsdl.org/projects/SDL_m...xer_frame.html
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Désolé, je pensais avoir donné le lien sur la fonction à utiliser : Mix_LoadWAV_RW
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Merci, j'avais vu cette fonction aussi mais apparemment elle charge uniquement un sample, moi c'est un fichier musique entier que j'ai en mémoire (un module protracker en l’occurrence).
Je pense que je vais devoir mettre les mains dans le cambouis et voir si je ne peux pas modifier la fonction Mix_LoadMus.
Merci.
De base, la SDL n'a jamais chargé de module ...
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Si ça marche avec :
et Mix_LoadMus, j'ai testé ça marche depuis un fichier mod venant de l'amiga.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 flags=MIX_INIT_MOD; initted=Mix_Init(flags);
Bonjour,
Finalement j'ai trouvé mon bonheur, il existe bien une fonction Mix_LoadMUS_RW, mais ils n'en parlent pas dans la doc, je l'ai trouvée par hasard en fouinant sur github ( https://gowalker.org/github.com/vean...xer#LoadMUS_RW )
je l'ai utilisée comme ça :
pour le reste c'est comme avec un fichier chargé depuis le disque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 p_rw_mod=SDL_RWFromMem(mus_address(), mus_size()); if(p_rw_mod==NULL) { printf("SDL_RWFromMem error : %s\n", SDL_GetError()); exit(12); } [...] p_module=Mix_LoadMUS_RW(p_rw_mod, mus_size()); if(p_module==NULL) { printf("Mix_LoadMUS_RW error : %s\n", Mix_GetError()); exit(10); }
Bien joué.
Sans indiscrétion, vous vous lancez/relancez (j'ai vu le site HMD) dans les démos ?
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
HMD existe depuis 1988 à la base sur atari puis amiga et pc, depuis 2013 on prode de nouveau sur atari ST et PC en codef ( http://codef.santo.fr/ ) qui est un framework javascript pour faire des demos mais aussi des jeux ( quelques exemples : http://www.wab.com )
nos dernières prod en codef sont visibles ici : http://www.hemoroids.eu/productions mais il faut aller vers le bas de la page on a essayé de garder l'ordre chronologique.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager