ME3Explorer.Unreal.Classes.WwiseStream.ImportWav C# (CSharp) Метод

ImportWav() приватный Метод

private ImportWav ( string pathafc, string pathwav, int off ) : void
pathafc string
pathwav string
off int
Результат void
        private void ImportWav(string pathafc, string pathwav, int off)
        {
            if (!File.Exists(pathafc) || !File.Exists(pathwav))
                return;
            FileStream fs = new FileStream(pathafc, FileMode.Open, FileAccess.Read);
            byte[] Header = new byte[94];
            fs.Seek(DataOffset, SeekOrigin.Begin);
            for (int i = 0; i < 94; i++)
                Header[i] = (byte)fs.ReadByte();
            fs.Close();
            fs = new FileStream(pathwav, FileMode.Open, FileAccess.Read);
            byte[] newfile = new byte[fs.Length];
            for (int i = 0; i < fs.Length; i++)
                newfile[i] = (byte)fs.ReadByte();
            fs.Close();
            newfile = ModifyHeader(newfile, Header);
            fs = new FileStream(pathafc, FileMode.Append, FileAccess.Write, FileShare.Write);
            int newoff = (int)fs.Length;
            int newsize = newfile.Length;
            for (int i = 0; i < newsize; i++)
                fs.WriteByte(newfile[i]);
            uint newafcsize = (uint)fs.Length;
            fs.Close();
            byte[] buff = BitConverter.GetBytes(newsize);
            for (int i = 0; i < 4; i++)
                memory[ValueOffset + i - 4] = buff[i];
            for (int i = 0; i < 4; i++)
                memory[ValueOffset + i] = buff[i];
            buff = BitConverter.GetBytes(newoff);
            for (int i = 0; i < 4; i++)
                memory[ValueOffset + i + 4] = buff[i];
            DataSize = newsize;
            DataOffset = newoff;
        }