Lire/Ecrire Entête fichier Wav [Résolu]

EvilGost 235 Messages postés lundi 16 décembre 2002Date d'inscription 16 mai 2011 Dernière intervention - 12 mars 2007 à 23:15 - Dernière réponse : cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention
- 13 mars 2007 à 21:01
Bonjour à tous,

voilà, j'ai un problème bien épineux. Je dois lire et écrire une entête d'un fichier wav. Je m'explique, j'ai une appli (qui n'est pas à moi, donc je n'ai pas les sources) qui écrit quelques choses dans l'entete d'un fichier wav (fichier audio non compressé).
J'ai donc besoin de récupérer le contenu de cette entete (header) et ,éventuellement, de pouvoir modifier cette entete.

J'ai bien trouvé quelques sources diverses sur internet, mais c'est du C, alors j'ai un peu de mal et je ne suis pas sur que cela corresponde.

En vous remerciant infiniment,

Cyril
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 13 mars 2007 à 21:00
3
Merci
Re
En deux mots (j'ai faim)
Il te suffit de préparer la structure comme ceci :
   Private Type typeFichierWAV
      Identification   As String * 4
      Donnée1         As Long
      Donnée2         As Long
      ...
   End Type
Bien sûr, il faut que la déclaration du type corresponde pile poil à l'entête
Tu dimensionnes une variable avec ce type
   Dim EnTete As typeFichierWav
Ensuite, tu ouvres ton fichier avec Open en mode Binary et tu n'as plus qu'à faire un
   Get #NoFichier, 1, EnTete
C'est tout. Il saura combien de bytes il doit lire puisque ta variable a une dimension fixe et définie
Tu n'auras plus qu'à extraire les données contenues dans
   EnTete.Identification
   EnTete.Donnée1 ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de cs_Jack
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 12 mars 2007 à 23:47
0
Merci
Salut
Comme tout fichier tehnique, il possède un entête.
Il est généralement composé d'un code de reconnaissance, 3 ou 4 lettres, puis d'une suite de valeurs correspondant aux caractéristiques technique du fichier (durée, nombre de trames, ...)
Il faut d'abord que tu trouves le document technique expliquant la structure de cet entête.
Ensuite seulement, tu pourras tenter de le lire et de le réécrire.
Pour cela, il suffira de créer une structure de variable "compatible en type" avec cet entête et de lire l'entête.
"compatible en type" c'est à dire qu'elle sera composée d'une suite de variables, genre :
- texte de 4 caractères
- suivi d'un entier Long dans lequel est stockée la durée (*)
- suivi d'un tableau d'octets représentant des options,
- suivi de ... je ne sais quoi
- suivi des données du fichier proprement dit
(*) La durée : en quelle unité ? C'est aussi pour cela qu'il faut trouver la description de l'entête

En général, quand je cherche ce genre d'info, je tape ceci dans mon moteur de recherche : "structure fichier WAV" ou "WAV file structure"
Jette aussi un oeil à ce site qui répertorie les extensions de fichiers avec, quelques fois, des liens vers ce genre d'infos plus pointues : clique ici

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 12 mars 2007 à 23:51
0
Merci
Tiens, bah en faisant un simple essai de recherche, je suis tombé la dessus : http://crteknologies.free.fr/programmation/ressources/wav.html

Pour la partie programmation, regarde comment sont faites les manipulations de TAG dans les fichiers MP3.
La structure du fichier d'entête est différente, mais la technique d'accès reste la même.
Commenter la réponse de cs_Jack
EvilGost 235 Messages postés lundi 16 décembre 2002Date d'inscription 16 mai 2011 Dernière intervention - 13 mars 2007 à 00:08
0
Merci
Merci à toi pour la rapidité de ta réponse, effectivement, c'est un peu ce que j'avais lu sur le net, j'étais tombé sur la page de structure....et de la manière dont tu l'exposes, ca a l'air simple, mais je vois pas du tout comment je peux faire....
Je faisais surtout un appel pour quelqu'un qui aurait eventuellement une fonction qui aurait cette utilité...car je pense que je vais avoir un peu de mal à créer cette fonction de lecture.ecriture de header tout seul...

EvilGost [;)]
Commenter la réponse de EvilGost
violent_ken 1822 Messages postés mardi 31 mai 2005Date d'inscription 26 octobre 2010 Dernière intervention - 13 mars 2007 à 14:27
0
Merci
Violent Ken

Salut, tu peux t'inspirer de çà :
http://www.vbfrance.com/codes/CLASSES-POUR-RECUPERER-INFOS-SUR-FICHIERS-BMP-GIF_41104.aspx
en adaptant les offsets à la structure de l'entête des WAV files.

@+
Commenter la réponse de violent_ken
violent_ken 1822 Messages postés mardi 31 mai 2005Date d'inscription 26 octobre 2010 Dernière intervention - 13 mars 2007 à 14:28
0
Merci
Violent Ken

Ah pardon, c'est du .Net...

Désolé, @+
Commenter la réponse de violent_ken
EvilGost 235 Messages postés lundi 16 décembre 2002Date d'inscription 16 mai 2011 Dernière intervention - 13 mars 2007 à 14:56
0
Merci
Voui :p ....suis un peu paumé :(

EvilGost [;)]
Commenter la réponse de EvilGost
violent_ken 1822 Messages postés mardi 31 mai 2005Date d'inscription 26 octobre 2010 Dernière intervention - 13 mars 2007 à 15:02
0
Merci
Remarque, tu peux toujours utiliser les APIs ReadFile, CreateFile et WriteFile (voir exemple en VB6 dans ma classe de gestion de fichiers)

@+
Commenter la réponse de violent_ken
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 13 mars 2007 à 15:39
0
Merci
wotsit.org nous donne les specs du format :
http://www.wotsit.org/download.asp?f=wave&sc=227093154

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 13 mars 2007 à 21:01
0
Merci
PS : Exemples données en VB6. A toi de traduire ces pauvres instructions en .Net
Commenter la réponse de cs_Jack

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.