Comment puis-je détecter si un fichier WAV a un 44 ou 46 octets d'en-tête?

J'ai découvert qu'il est dangereux de supposer que tous les PCM wav, les fichiers audio ont 44 octets de l'en-tête de données avant que les échantillons de commencer. Bien que ce qui est commun, de nombreuses applications (ffmpeg par exemple), permettra de générer des wav avec un 46 octets d'en-tête et en ignorant ce fait, tout traitement va provoquer un corrompu et illisible fichier. Mais comment pouvez-vous détecter combien de temps l'en-tête est réellement?

Évidemment il y a une manière de le faire, mais j'ai cherché et trouvé peu de discussions sur ce sujet. BEAUCOUP de projets audio y assumer 44 (ou, à l'inverse, 46) selon les auteurs propre contexte.

J'ai beaucoup de fichiers WAV, où les données commence quelque part autre chose: peut-être des centaines d'octets à partir du début du fichier, qui sait? Le WAV morceau les en-têtes sont en fait facile à analyser, vous n'avez aucune excuse pour ne pas l'analyse.
C'est vrai qu'il n'est pas une excuse pour l'analyse de l'en-tête, mais il y a beaucoup de désinformation là-bas sur le faire. Recherche pour "wav parser" sur Google et beaucoup de top hits contenir le code qui suppose 44 octets de longueur avec pas de discussion. DONC, ne contenait que des conseils vers quelque chose de plus grand. Je suis d'essayer d'attirer l'attention sur ce problème pour la prochaine frustré personne qui va à la recherche.
J'ai toujours trouvé que le WAVE PCM fichier son au format d'une page sur le Center for Computer Research in Music and Acoustics (Standford) site web pour être une ressource utile pour ce genre de chose.

OriginalL'auteur Matt J. | 2013-11-15