Example #1
0
        static bool CheckWav(string fileName)
        {
            WavHeader wh = null;

            try
            {
                using (var br = new BinaryReader(File.Open(fileName, FileMode.Open)))
                    wh = WavHeader.WavHeaderFromBinaryReader(br);
            }

            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            return(wh.ChunkId == "RIFF" && wh.Format == "WAVE" && wh.Subchunk11D == "fmt " && wh.Subchunk2ID == "data");
        }
Example #2
0
        ////////////////////////////////////////////////////////
        // BONUS
        ////////////////////////////////////////////////////////

        static void ReadHeader(string fileName)
        {
            if (!CheckWav(fileName))
            {
                Console.WriteLine("Ce fichier n'est pas un fichier .wav");
                return;
            }

            WavHeader wh;

            using (var br = new BinaryReader(File.Open(fileName, FileMode.Open)))
                wh = WavHeader.WavHeaderFromBinaryReader(br);

            foreach (var f in Assembly.GetExecutingAssembly().GetType(typeof(WavHeader).ToString()).GetFields())
            {
                Console.WriteLine(f.Name + " : " + f.GetValue(wh));
            }
        }
Example #3
0
        static void PrintInfos(string fileName)
        {
            if (!CheckWav(fileName))
            {
                Console.WriteLine("Ce fichier n'est pas un fichier .wav");
                return;
            }

            WavHeader wh;

            using (var br = new BinaryReader(File.Open(fileName, FileMode.Open)))
                wh = WavHeader.WavHeaderFromBinaryReader(br);

            Console.WriteLine("Nom : " + fileName);
            Console.WriteLine("Taille : " + wh.ChunkSize);
            Console.WriteLine("Compression : " + (wh.AudioFormat == 1 ? "Compressé" : "Non compressé"));
            Console.WriteLine("Canaux : " + wh.NumChannels);
            Console.WriteLine("Fréquence d'échantillonnage : " + wh.SampleRate);
        }
Example #4
0
        public static WavHeader WavHeaderFromBinaryReader(BinaryReader br)
        {
            var waveHeader = new WavHeader
            {
                ChunkId       = new string(br.ReadChars(4)),
                ChunkSize     = br.ReadInt32(),
                Format        = new string(br.ReadChars(4)),
                Subchunk11D   = new string(br.ReadChars(4)),
                Subchunk1Size = br.ReadInt32(),
                AudioFormat   = br.ReadInt16(),
                NumChannels   = br.ReadInt16(),
                ByteRate      = br.ReadInt32(),
                SampleRate    = br.ReadInt32(),
                BlockAlign    = br.ReadInt16(),
                BitsPerSample = br.ReadInt16(),
                Subchunk2ID   = new string(br.ReadChars(4)),
                Subchunk2Size = br.ReadInt32()
            };

            return(waveHeader);
        }
Example #5
0
        public static WavHeader WavHeaderFromBinaryReader(BinaryReader br)
        {
            var waveHeader = new WavHeader
                {
                    ChunkId = new string(br.ReadChars(4)),
                    ChunkSize = br.ReadInt32(),
                    Format = new string(br.ReadChars(4)),
                    Subchunk11D = new string(br.ReadChars(4)),
                    Subchunk1Size = br.ReadInt32(),
                    AudioFormat = br.ReadInt16(),
                    NumChannels = br.ReadInt16(),
                    ByteRate = br.ReadInt32(),
                    SampleRate = br.ReadInt32(),
                    BlockAlign = br.ReadInt16(),
                    BitsPerSample = br.ReadInt16(),
                    Subchunk2ID = new string(br.ReadChars(4)),
                    Subchunk2Size = br.ReadInt32()
                };

            return waveHeader;
        }