Étape 5: Format de fichier Wave
Un en-tête de fichier wave est un bloc de 44 octets.
L’en-tête est au début du fichier wav.
Le bloc d’en-tête doit être initialisé dans le monde avec :
wavheader Byte [44] ;
Voici des données audio l’en-tête.
Pour un 8 bit, les données de fichiers wav mono sont un nombre compris entre 0 et 255.
Le script lit le port A1, interprétant le signal audio entrant comme une tension entre 0 et 255. Parfait !
Seulement 4 sections en-tête devaient être mis à jour lorsque le format wav est enregistré.
Ceux-ci sont présentés comme les sections commentées dans l’image.
Les octets du décalage 4 contiennent la longueur des données + la longueur de l’en-tête - 2 * 4 octets
Ou plus simplement le nombre de données + 36.
Chacun a commenté l’article est un nombre de 4 octets.
Les quatre octets qui se produisent avec l’octet le moins significatif premier - il s’agit de « format little endian ».
La routine suivante va accepter une valeur de type long et écrivez-le à un point spécifié dans l’en-tête de wav comme 4 octets successifs :
void headmod (long value, emplacement octets) {}
écrire les quatre octets pour une longue
tempfile.Seek(location) ; Recherchez l’emplacement dans le fichier
tbuf octet [4] ;
tbuf [0] = valeur & 0xFF ; Lo octets
tbuf [1] = (valeur >> 8) & 0xFF ;
tbuf [2] = (valeur >> 16) & 0xFF ;
tbuf [3] = (valeur >> 24) & 0xFF ; Salut octets
tempfile.Write(tbuf,4) ; écrire la mémoire tampon de 4 octets
}