示例#1
0
        public void Close()
        {
            if (writer == null)
            {
                return;
            }
            writer.Close();
            writer = null;
            BinaryWriter bw2 = new BinaryWriter(CrossPlatformHelper.CreateResource(fname));

            bw2.Write((Int32)1179011410);
            bw2.Write((Int32)44 + length - 8);
            bw2.Write((Int32)1163280727);
            bw2.Write((Int32)544501094);
            bw2.Write((Int32)16);
            bw2.Write((Int16)1);
            bw2.Write((Int16)channels);
            bw2.Write((Int32)sRate);
            bw2.Write((Int32)(sRate * channels * (bits / 8)));
            bw2.Write((Int16)(channels * (bits / 8)));
            bw2.Write((Int16)bits);
            bw2.Write((Int32)1635017060);
            bw2.Write((Int32)length);
            using (BinaryReader br = new BinaryReader(CrossPlatformHelper.OpenResource(ftemp)))
            {
                byte[] buffer = new byte[1024];
                int    count  = br.Read(buffer, 0, buffer.Length);
                while (count > 0)
                {
                    bw2.Write(buffer, 0, count);
                    count = br.Read(buffer, 0, buffer.Length);
                }
            }
            bw2.Close();
            CrossPlatformHelper.RemoveResource(ftemp);
        }