[TURBO C++] charger un fichier sonore (.WAV, .VOC, MIDI...)

kobee12 Messages postés 153 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 31 octobre 2006 - 19 mars 2003 à 20:22
cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 - 27 févr. 2004 à 12:02
JE suis actuellement en train de faire une applicatiion en mode 13h avec gestion de la souris et chargement d'image .BMP sous TURBO C++.
J'aimerais pouvoir rajouter des sons et de la musique a mon application.

Si vous savez comment faire pourriez me proposer un code source compatible sous TC++.
Merci d'avance
PS: si vous connaissez un site sur le sujet ca m'interesse aussi.
Voila @ + kobee12

3 réponses

cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 3
20 mars 2003 à 07:37
Salut, je me suis déjà penché un peu sur la question, c'est vrai qu'ya pa trop de truc su le sujet sur le net. Voici un chti article qui va te permettre de charger un .WAV dans ton prog.
http://www.gamedev.net/reference/articles/article709.asp
Voila, bonne prog!
A+
Bouba
0
Amanobuo Messages postés 65 Date d'inscription mardi 24 février 2004 Statut Membre Dernière intervention 11 décembre 2006
27 févr. 2004 à 11:46
il y a des erreurs dans cette souces. J ai essaye de les corriger mais il en reste une !

void main (char *fname)
{
FILE *fp;

fp = fopen(fname,"rb");
if (fp)
{
BYTE id[4], *sound_buffer; //Quatre bytes pour contenir 'RIFF'
DWORD size; // valeur de 32 bit pour contenir la taille du fichier
short format_tag, channels, block_align, bits_per_sample; //nos valeurs 16
DWORD format_length, sample_rate, avg_bytes_sec, data_size, i; //nos vleurs 32

fread(id, sizeof(BYTE), 4, fp); //Lit en premier 4 bits
if (!strcmp((const char *) id, "RIFF"))
{ //nous avons 'RIFF' continuons
fread(size, sizeof(DWORD), 1, fp); //read in 32bit size value
fread(id, sizeof(BYTE), 4, fp); //read in 4 byte string now
if (!strcmp((const char *)id,"WAVE"))
{ //this is probably a wave file since it contained "WAVE"
fread(id, sizeof(BYTE), 4, fp); //read in 4 bytes "fmt ";
fread(&format_length, sizeof(DWORD),1,fp);
fread(&format_tag, sizeof(short), 1, fp); //check mmreg.h (i think?) for other
// possible format tags like ADPCM
fread(&channels, sizeof(short),1,fp); //1 mono, 2 stereo
fread(&sample_rate, sizeof(DWORD), 1, fp); //like 44100, 22050, etc...
fread(&avg_bytes_sec, sizeof(short), 1, fp); //probably won't need this
fread(&block_align, sizeof(short), 1, fp); //probably won't need this
fread(&bits_per_sample, sizeof(short), 1, fp); //8 bit or 16 bit file?
fread(id, sizeof(BYTE), 4, fp); //read in 'data'
fread(&data_size, sizeof(DWORD), 1, fp); //how many bytes of sound data we have
sound_buffer = (BYTE *) malloc (sizeof(BYTE) * data_size); //set aside sound buffer space
fread(sound_buffer, sizeof(BYTE), data_size, fp); //read in our whole sound data chunk
}
else
printf("Erreur: Fichier RIFF mais pas un fichier Wav\n");
}
else
printf("Erreur : Ce n'est pas un fichier RIFF\n");
}
}

some help !
0
cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 3
27 févr. 2004 à 12:02
Ou la, sa fait bien longtemps que je ne programme plus sous Turbo C++, je pense que tu feré bien re reposter un message dans le forum ou bien de changer de compilo et utiliser un API qui fait ca, ce seré plus simple.
Bonne chance.
Bouba
0
Rejoignez-nous