Example #1
0
        private bool ReadWAVFileHeader()
        {
            bool       bRet = true, bRes;
            string     sFile;
            FileInfo   fiFile;
            FileStream fsFile;
            int        iLen;

            byte[]    abFile;
            WavHeader whFile = null;

            Console.WriteLine("Read a WAV file header.");
            Console.Write("Filename:  ");
            sFile = Console.ReadLine();

            if (!File.Exists(sFile))
            {
                bRet = false;
                Console.Error.WriteLine("Invalid filename '{0}'.", sFile);
            }
            else
            {
                fiFile = new FileInfo(sFile);
                fsFile = fiFile.OpenRead();
                iLen   = (int)(fiFile.Length);
                abFile = new byte[iLen];
                fsFile.Read(abFile, 0, iLen);
                fsFile.Close();

                whFile = new WavHeader();
                bRes   = whFile.Extract(abFile);
                bRes   = whFile.Valid();

                Console.WriteLine("{0}", whFile);       // NOTE - until WavHeader.ToString() is overridden, this will display the type name, not the contents of the header.

                abFile = null;                          // Flag for GC cleanup.
            }

            return(bRet);
        }