NAudio 拼接音频文件
时间: 2023-06-29 15:04:39 浏览: 50
在使用NAudio拼接多个音频文件时,可以使用`WaveFileReader`和`WaveFileWriter`类来读取和写入音频文件。
以下是一个简单的示例代码,可以将多个WAV文件拼接成一个文件:
```csharp
using NAudio.Wave;
using System.Collections.Generic;
using System.Linq;
public static void Concatenate(string outputFilePath, IEnumerable<string> sourceFilePaths)
{
// 打开输出文件的 WaveFileWriter
var outFormat = new WaveFormat();
using (var writer = new WaveFileWriter(outputFilePath, outFormat))
{
foreach (var sourceFilePath in sourceFilePaths)
{
// 打开输入文件的 WaveFileReader
using (var reader = new WaveFileReader(sourceFilePath))
{
// 将输入文件的所有数据写入输出文件
var buffer = new byte[reader.Length];
reader.Read(buffer, 0, buffer.Length);
writer.Write(buffer, 0, buffer.Length);
}
}
}
}
```
在调用`Concatenate`方法时,需要传递输出文件的路径和一个包含所有输入文件路径的字符串列表。例如:
```csharp
var inputFiles = new List<string> { "file1.wav", "file2.wav", "file3.wav" };
Concatenate("output.wav", inputFiles);
```
这将把`file1.wav`、`file2.wav`和`file3.wav`拼接成一个名为`output.wav`的文件。