コード例 #1
0
        public DataChunkFormat GetAudioData()
        {
            CurrentChunkStart = (int)binReader.BaseStream.Position;
            while (!CurrentChunkId.Equals("data"))
            {
                NextChunk();
            }
            ;
            binReader.BaseStream.Position = CurrentChunkStart;
            DataChunkFormat data = new DataChunkFormat
            {
                ChunkID   = CurrentChunkId,
                ChunkSize = CurrentChunkSize,
                AudioData = binReader.ReadBytes(CurrentChunkSize)
            };

            Console.WriteLine("========= DATA CHUNK =========");
            Console.WriteLine("0: Chunk id: " + data.ChunkID);
            Console.WriteLine($"4: Chunk size: {data.ChunkSize}");
            Console.WriteLine($"8: Chunk Data: {data.AudioData}");
            return(data);
        }
コード例 #2
0
        public WaveFileStream(string pathToFile)
        {
            AudioFileLoader loader = new AudioFileLoader(pathToFile);

            FormatChunkData = loader.GetFormatData();
            DatacChunkData  = loader.GetAudioData();
            WaveFormat      = new WaveFormat(FormatChunkData.SampleRate, FormatChunkData.NumberOfChannels);

            //Console.Clear();
            //Console.WriteLine("4: Chunk id: " + new string(ChunkId));
            //Console.WriteLine($"8: File size: {ChunkSize}");
            //Console.WriteLine("12: Format: " + new string(Format));
            //Console.WriteLine("16: Sub chunk 1 ID: " + new string(Subchunk1ID));
            //Console.WriteLine($"20: Sub chunk 1 size: {Subchunk1Size}");
            //Console.WriteLine($"22: Audio format: {AudioFormat}");
            //Console.WriteLine($"24: Channels: {NumberOfChannels}");
            //Console.WriteLine($"28: Sample rate: {SampleRate}");
            //Console.WriteLine($"32: Byte rate: {ByteRate}");
            //Console.WriteLine($"34: Block alignment: {BlockAlign}");
            //Console.WriteLine($"36: Bits per sample: {BitsPerSample}");

            //Console.WriteLine($"40: Sub chunk 2 id: " + new string(subchunk2id));
            //Console.WriteLine($"44: Sub chunk 2 size {subchunk2size}");
            //Console.WriteLine($"48: info header " + new string(infoheader));
            //Console.WriteLine($"52: info tag " + new string(infoTag));
            //Console.WriteLine($"56: info data {infoData}");
            //Console.WriteLine($"60: info encoder " + new string(infoData2));
            //Console.WriteLine($"70: info version " + new string(infoData3));
            //Console.WriteLine($"74: subchunk 3 id " + new string(subchunk3id));
            //Console.WriteLine($"78: subchunk 3 size {subchunk3Size}");


            //data = subchunk3Data;
            //Length = data.LongLength;
            //Position = 0;
        }