Я пытаюсь сохранить аудиоклип, записанный в единстве, в файл.
Сначала я получаю сэмплы аудиоклипа, которые являются значениями с плавающей запятой, и преобразую их в короткие, а затем получаю их байты и записывают его байты в файл, используя FileStream, затем я пишу для него заголовок.
Проблема в том, что сохраняется только половина из этого.
Это мой код
private void SaveAudioClip(FileStream fileStream, AudioClip clipToSave)
{
float[] samples = new float[clipToSave.samples];
clipToSave.GetData(samples, 0); //puts the clip's data into sample array
short[] data = new short[samples.Length];
var size = sizeof(short);
byte[] byteArray = new byte[samples.Length * size];
for (int i = 0; i < samples.Length; i++)
{
data[i] = (short) (samples[i] * short.MaxValue);
BitConverter.GetBytes(data[i]).CopyTo(byteArray, i * size);
}
fileStream.Write(byteArray, 0, byteArray.Length);
WriteHeader(fileStream, clipToSave);
}
Я пытался преобразовать сэмплы в int или uint32, он фиксирует длину, но сохраненный файл молчит.
Может кто-нибудь помочь мне решить эту проблему?