Allegro 4.2.2 problème son
Giglobastre
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, J'ai besoin de jouer un son, j'ai déjà essayer plusieurs librairies (SDL+SDL_mixer/OpenAL/Fmod) mais celles ci sont bien trop complexes pour ce que nous avons a faire (uniquement jouer un son). je me suis donc tourner vers allegro étant donner que j'utilise déjà la partie graphique.
Ayant vu sur d'autres forums que allegro ne lisait pas les format compressés de .wav j'ai téléchargé un extrait 16bit PCM.
Voici le code:
j'ai essayer de remplacer
install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL);
par
install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, 0);
voire même d’enlever mais rien n'y fait, le programme plante au lancement et rien n'est jouer.
j'ai également remplacer dans le play_sample 128 par 0, ceci ne change rien non plus.
et dernièrement, j'ai remplacé load_sample par load_wav ce qui ne change rien non plus.
j'ai aussi essayer plusieurs .wav mais rien n'y fait.
voici la liste des prototypes: https://liballeg.org/stabledocs/en/alleg026.html
j'ai vu que des wrappers pour pouvoir jouer des mp3 existaient. je code sur codeblocks, w10 64bit
merci d'avance.
Ayant vu sur d'autres forums que allegro ne lisait pas les format compressés de .wav j'ai téléchargé un extrait 16bit PCM.
Voici le code:
#include <stdio.h> #include <stdlib.h> #include <allegro.h> int main() { install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL); SAMPLE *sample ; sample= load_sample("D:/Codeblocks/projets/16bit pcm.wav"); play_sample(sample, 255, 128, 1000, 0); return 0; } END_OF_MAIN();
j'ai essayer de remplacer
install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL);
par
install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, 0);
voire même d’enlever mais rien n'y fait, le programme plante au lancement et rien n'est jouer.
j'ai également remplacer dans le play_sample 128 par 0, ceci ne change rien non plus.
et dernièrement, j'ai remplacé load_sample par load_wav ce qui ne change rien non plus.
j'ai aussi essayer plusieurs .wav mais rien n'y fait.
voici la liste des prototypes: https://liballeg.org/stabledocs/en/alleg026.html
j'ai vu que des wrappers pour pouvoir jouer des mp3 existaient. je code sur codeblocks, w10 64bit
merci d'avance.
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
1 réponse
Salut,
Tu n'as pas initialisé Allego elle-même avec
Tu devrais aussi faire un contrôle d'erreurs, pour savoir exactement à quel niveau il y aurait un problème, et essayer avec un fichier sans espaces.
Allegro est fournit avec un programme "exsample" que tu peux tester en ligne de commande pour voir s'il n'y a pas un problème avec ton matériel. Le code source de ce programme est fournit avec la "librairie" Allegro. Il est peut-être sur ta machine, autrement on trouve aussi exsample.c là :
https://sourceforge.net/p/alleg/allegro/ci/ecb3132864649d5728e403b511c206932bc23849/tree/examples/exsample.c
Il montre comment initialiser correctement Allegro, comme utiliser les fonctions liées au son et contrôler les erreurs éventuelles avec des messages d'erreurs informatifs du type d'erreur.
Dal
Tu n'as pas initialisé Allego elle-même avec
allegro_init()et il manque aussi la macro
END_OF_MAIN()à la fin de ton main.
Tu devrais aussi faire un contrôle d'erreurs, pour savoir exactement à quel niveau il y aurait un problème, et essayer avec un fichier sans espaces.
Allegro est fournit avec un programme "exsample" que tu peux tester en ligne de commande pour voir s'il n'y a pas un problème avec ton matériel. Le code source de ce programme est fournit avec la "librairie" Allegro. Il est peut-être sur ta machine, autrement on trouve aussi exsample.c là :
https://sourceforge.net/p/alleg/allegro/ci/ecb3132864649d5728e403b511c206932bc23849/tree/examples/exsample.c
Il montre comment initialiser correctement Allegro, comme utiliser les fonctions liées au son et contrôler les erreurs éventuelles avec des messages d'erreurs informatifs du type d'erreur.
Dal
Pour Allegro 5 c'est assez différent :
ex_audio_simple.c a cette tête : https://github.com/liballeg/allegro5/blob/master/examples/ex_audio_simple.c
plus de mais , plus de mais , etc.
j'ai utilisé le code de exsample que j'ai un peu modifié (notamment enlevé les modif de pitch). le voici:
j'ai enlevé l'espace dans le nom du fichier et j'ai re check avec audacity que c’était bien un format non compressé.
quand je compile et lance aucune erreur ne s'affiche et une fenêtre allegro s'ouvre me disant que le fichier est joué.
en revanche aucun son sort de mon pc,dans le mixeur des volumes windows les sons systèmes de sont pas a 0. peut être il faut que je télécharge un fichier .voc a la place du wav..
je suis déjà content que le code compile et qu'il n'y ai pas d'erreur.
une venant d'internet donc pas garanti d’être 16bit pcm
une autre qui est le meme extrait d'avan que j'ai reconverti sur audacity
et le 16bit_pcm3 qui est le meme extrait converti sur audacity en "autre format compressé". les 3 contiennent bien un son.