Jouer du son

Le tutoriel en ligne vous pose quelques problèmes ? C'est ici pour en parler !

Jouer du son

Messagede YuGiOhJCJ le 09 Avr 2005 21:17

Salut,
j'ai essayé de faire fonctionner SDL_mixer...Mais c'est assez complexe.
D'abord, en en-tête faut-il charger SDL_audio.h ou SDL_mixer.h?
Mon but est de jouer soit un WAV, soit un MIDI, soit un MP3, soit un OGG.

J'ai créé une fonction pour l'initialisation du son qu'ensuite je charge dans la fonction main():

Code: Tout sélectionner
int initAUDIO(){

   SDL_AudioSpec audioSortie;
void audioCallback(void *udata, Uint8 *stream, int len);
   
   /* Définition des propriétés audio */
   audioSortie.freq = 22050;
   audioSortie.format = AUDIO_S16;
   audioSortie.channels = 2;
   audioSortie.samples = 1024;
   audioSortie.callback = audioCallback;
   audioSortie.userdata = NULL;

       /* Initialisation de la couche audio */
       if(SDL_OpenAudio(&audioSortie, NULL)<0){
           fprintf(stderr, "Erreur d'ouverture audio: %s\n", SDL_GetError());
           return (-1);
       }
    return 0;
}


Mais rien que ça quand je le compile ya des erreurs...Ensuite je n'ai pas encore trouvé comment faire jouer un fichier son.

J'ai aussi penser à initialiser l'audio au début avec:
SDL_Init(SDL_INIT_AUDIO)

Sais-tu te servir de ça?
Peux-tu me donner un code exemple?
[yugiohjcj.free.fr]
Yu-Gi-Oh! Jeu de Cartes à Jouer
Avatar de l’utilisateur
YuGiOhJCJ
Bébé Chocobo
Bébé Chocobo
 
Messages: 121
Inscription: 22 Fév 2005 21:58
Localisation: Devant mon ordinateur en train de développer

Messagede moi1392 le 09 Avr 2005 23:04

http://vally8.free.fr/coinprog/telechargement.php

tu trouveras un exemple de SDL_mixer avec des bruitages en wav et de la musique de fond en mp3 (ça marche aussi en ogg, flac, cda, ...).

Pour le midi, je ne sais pas si ça marche de la même façon car j'ai quelques soucis de midi sur mon pc... je n'ai donc pas pu tester.

Le tutorial qui va avec n'est pas encore écrit, alors si tu as des problèmes, fait moi signe. Mais si tu lis attentivement tout le code, ça devrait aller.

Au fait, tu as vu j'ai un peu avancé dans le tutorial 5 sur les sprites !! :) j'éspère que ça t'auras servi pour ton problème d'affichage de la dernière fois !!
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam

je vé le lire...

Messagede YuGiOhJCJ le 20 Avr 2005 15:57

Ah cool.
Je croyais que ct SDL_mixer l'en tête, à télécharger, rien de plus.
En fait ct un petit exemple pour jouer des sons.
C génial!

Tu ne devrais pas l'appeler SDL-mixer sur ton site ça porte à confusion... #-o
[yugiohjcj.free.fr]
Yu-Gi-Oh! Jeu de Cartes à Jouer
Avatar de l’utilisateur
YuGiOhJCJ
Bébé Chocobo
Bébé Chocobo
 
Messages: 121
Inscription: 22 Fév 2005 21:58
Localisation: Devant mon ordinateur en train de développer

Messagede moi1392 le 21 Avr 2005 22:52

Si je l'ai appellé comme ça, c'est par ce que c'est un exemple qui montre comment se servir de SDL_mixer.
Je trouve que c'est plus simple de le nommer comme ça, après s'il y a d'autres exemples qui entre autre, utilisent SDL_mixer, je les appellerai autrement :)

Sinon t'as vu, c'est pas mal du tout SDL_mixer.. et en plus, c'est super facile :oui: !!!
Dernière édition par moi1392 le 23 Avr 2005 21:47, édité 1 fois.
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam

Messagede SephyYazoo le 23 Avr 2005 12:31

je comprends rien Oo
SephyYazoo
 

c bon

Messagede YuGiOhJCJ le 27 Avr 2005 19:20

Ca y est en suivant ton exemple, je suis arrivé à faire lire des wav et mp3.
Merci beaucoup mes projets seront plus interressents avec du son maintenant ^^
[yugiohjcj.free.fr]
Yu-Gi-Oh! Jeu de Cartes à Jouer
Avatar de l’utilisateur
YuGiOhJCJ
Bébé Chocobo
Bébé Chocobo
 
Messages: 121
Inscription: 22 Fév 2005 21:58
Localisation: Devant mon ordinateur en train de développer

les fonctions qui contiennent des variables...

Messagede YuGiOhJCJ le 27 Avr 2005 20:50

Arf, toutes ces variables:
Uint16 audio_format = AUDIO_S16;
int audio_rate = 11025;
int audio_channels = 2;
int audio_buffers = 4096;
Mix_Music *music = NULL;
Mix_Chunk *chunk = NULL;
Si je les met dans une fonctions loadAudio(), le compilateur devient fou:
Code: Tout sélectionner
gcc test.c `sdl-config --cflags` `sdl-config --libs` -lSDL_ttf -lSDL_mixer
test.c: Dans la fonction « main »:
test.c:161: error: `music' undeclared (first use in this function)
test.c:161: error: (Each undeclared identifier is reported only once
test.c:161: error: for each function it appears in.)
test.c:169: error: `chunk' undeclared (first use in this function)
test.c:194: error: `audio_rate' undeclared (first use in this function)
test.c:194: error: `audio_format' undeclared (first use in this function)
test.c:194: error: `audio_channels' undeclared (first use in this function)


En fait c'est exactement le même problème qu'avec la fonction loadTTF() que je voulais créer...Il y avait la variable:
TTF_Font *font;

Tu m'avais parlé de 2 solutions:
1)Mettre toutes ces variables en variables globales au début du programme dans la fonction main(). Effectivement ça marche mais c pas beau et pas bien organisé.
2)Utiliser return() dans les fonctions loadTTF() et loadAudio...Là c plus délicat. Je vais essayer ça tour de même.

:pouce:
[yugiohjcj.free.fr]
Yu-Gi-Oh! Jeu de Cartes à Jouer
Avatar de l’utilisateur
YuGiOhJCJ
Bébé Chocobo
Bébé Chocobo
 
Messages: 121
Inscription: 22 Fév 2005 21:58
Localisation: Devant mon ordinateur en train de développer

Messagede moi1392 le 27 Avr 2005 21:43

et bien bonne chance alors :) si tu as des problèmes, fait moi signe :oui:
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam

Messagede SephyYazoo le 28 Avr 2005 00:30

signe de la croix? au nom du père du fils... ouais ok je sors...
SephyYazoo
 

Messagede Mateooo le 28 Avr 2005 14:10

j'adore le codage!!!
Error...
Error...
Error...
etc, etc
Mateooo
 

Messagede moi1392 le 28 Avr 2005 14:31

ça c'est la coppilation, pas le codage :)
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam


Retourner vers Besoin d'aide en SDL ?

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron