Exemple #1
0
 public override bool WriteSound(string path, AudioClip audioClip)
 {
     try
     {
         FileIOManagerBase.audioHeader[0] = audioClip.get_samples();
         FileIOManagerBase.audioHeader[2] = audioClip.get_frequency();
         FileIOManagerBase.audioHeader[1] = audioClip.get_channels();
         int num = audioClip.get_samples() * audioClip.get_channels();
         using (FileStream stream = new FileStream(path, FileMode.Create, FileAccess.Write))
         {
             Buffer.BlockCopy(FileIOManagerBase.audioHeader, 0, FileIOManagerBase.workBufferArray, 0, 12);
             FileIOManagerBase.CustomEncodeNoCompress(this.CryptKeyBytes, FileIOManagerBase.workBufferArray, 0, 12);
             stream.Write(FileIOManagerBase.workBufferArray, 0, 12);
             int num2 = 0;
             do
             {
                 int num3 = Math.Min(FileIOManagerBase.audioSamplesWorkArray.Length, num - num2);
                 audioClip.GetData(FileIOManagerBase.audioSamplesWorkArray, num2 / audioClip.get_channels());
                 for (int i = 0; i < num3; i++)
                 {
                     FileIOManagerBase.audioShortWorkArray[i] = (short)(32767f * FileIOManagerBase.audioSamplesWorkArray[i]);
                 }
                 int count = num3 * 2;
                 Buffer.BlockCopy(FileIOManagerBase.audioShortWorkArray, 0, FileIOManagerBase.workBufferArray, 0, count);
                 FileIOManagerBase.CustomEncodeNoCompress(this.CryptKeyBytes, FileIOManagerBase.workBufferArray, 0, count);
                 stream.Write(FileIOManagerBase.workBufferArray, 0, count);
                 num2 += num3;
             }while (num2 < num);
         }
         return(true);
     }
     catch (Exception exception)
     {
         Debug.LogError(exception.ToString());
         return(false);
     }
 }
Exemple #2
0
 public override bool WriteEncodeNoCompress(string path, byte[] bytes)
 {
     try
     {
         using (FileStream stream = new FileStream(path, FileMode.Create, FileAccess.Write))
         {
             int srcOffset = 0;
             do
             {
                 int count = Math.Min(0x40000, bytes.Length - srcOffset);
                 Buffer.BlockCopy(bytes, srcOffset, FileIOManagerBase.workBufferArray, 0, count);
                 FileIOManagerBase.CustomEncodeNoCompress(this.CryptKeyBytes, FileIOManagerBase.workBufferArray, 0, count);
                 stream.Write(FileIOManagerBase.workBufferArray, 0, count);
                 srcOffset += count;
             }while (srcOffset < bytes.Length);
         }
         return(true);
     }
     catch (Exception exception)
     {
         Debug.LogError(exception.ToString());
         return(false);
     }
 }
Exemple #3
0
 public override byte[] EncodeNoCompress(byte[] bytes)
 {
     FileIOManagerBase.CustomEncodeNoCompress(this.CryptKeyBytes, bytes, 0, bytes.Length);
     return(bytes);
 }