Bonjour,
Je suis débutant en C++ et il faudrait que je lise un fichier wav bit par bit pour le comparer avec un autre.
Est ce que quelqu'un aurait une idée ?
Merci d'avance
Bonjour,
Je suis débutant en C++ et il faudrait que je lise un fichier wav bit par bit pour le comparer avec un autre.
Est ce que quelqu'un aurait une idée ?
Merci d'avance
J'ai fait quelques recherches sur le net et voila où j'en suis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 #include <stdio.h> #include <stdlib.h> int main () { FILE * pFile; long lSize; char * buffer; size_t result; FILE * pFile2; long lSize2; char * buffer2; size_t result2; pFile = fopen ( "./me_gustas_Content.wav" , "rb" ); if (pFile==NULL) {fputs ("File error",stderr); exit (1);} pFile2 = fopen ( "./me_gustas.wav" , "rb" ); if (pFile2==NULL) {fputs ("File2 error",stderr); exit (1);} // obtain file size: fseek (pFile , 0 , SEEK_END); lSize = ftell (pFile); rewind (pFile); fseek (pFile2 , 0 , SEEK_END); lSize2 = ftell (pFile2); rewind (pFile2); buffer = (char*) malloc (sizeof(char)*lSize); if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);} buffer2 = (char*) malloc (sizeof(char)*lSize2); if (buffer2 == NULL) {fputs ("Memory 2 error",stderr); exit (2);} result = fread (buffer,1,lSize,pFile); if (result != lSize) {fputs ("Reading error",stderr); exit (3);} result2 = fread (buffer2,1,lSize2,pFile2); if (result2 != lSize2) {fputs ("Reading2 error",stderr); exit (3);} fclose (pFile); free (buffer); fclose (pFile2); free (buffer2); printf ("%d\n",result); printf ("%d\n",result2); return 0; }
Salut, et bienvenue sur le forum.
D'abord, il faut faire attention: le code que tu présente est - typiquement - exclusivement C...
Pour le reste, autant te le dire tout de suite, je ne suis pas spécialiste des fichiers sonores en tous genre.
Cependant un fichier sonore étant, à la base, un fichier dit... binaire, tu peux te baser sur cette entrée de la FAQ et sur cette autre entrée pour ce qui en est de la lecture même du fichier.
Pour ce qui est de la comparaison, le mieux est peut etre, tout simplement, de "regrouper" les bits par... bytes (des "char" en fait), et de les comparer un à un...
Le tout étant alors de décider la manière de les comparer
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Merci je vais suivre ces pistes
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