Мне нужно соединить 2 файла WAV, которые находятся в байтовом массиве C #.Я получаю это исключение:
Не файл WAVE - нет заголовка RIFF
Как я узнал из сети, когда искал об этом, проблема заключается взаголовок байтового массива, который не в формате WAV.Но я не смог найти никакой помощи по поводу добавления заголовкаЭто мой код:
public static void Concatenate(string outputFile, IEnumerable<byte[]> sourceFiles)
{
byte[] buffer = new byte[1024];
WaveFileWriter waveFileWriter = null;
try
{
foreach (byte[] sourceFile in sourceFiles)
{
Stream streamReader = new MemoryStream(sourceFile);
using (WaveFileReader reader = new WaveFileReader(streamReader))
{
if (waveFileWriter == null)
{
// first time in create new Writer
waveFileWriter = new WaveFileWriter(outputFile, reader.WaveFormat);
}
else
{
if (!reader.WaveFormat.Equals(waveFileWriter.WaveFormat))
{
throw new InvalidOperationException("Can't concatenate WAV Files that don't share the same format");
}
}
int read;
while ((read = reader.Read(buffer, 0, buffer.Length)) > 0)
{
waveFileWriter.WriteData(buffer, 0, read);
}
}
}
}
finally
{
if (waveFileWriter != null)
{
waveFileWriter.Dispose();
}
}
}
Как добавить заголовок файла WAV в байтовый массив?И еще вопрос: я должен добавить заголовок к байтовым массивам один за другим или сначала объединить два байтовых массива, а затем добавить заголовок?