C# naudio异步播放多音频列表
时间: 2024-09-20 14:05:13 浏览: 32
C# NAudio录音和播放音频文件-实时绘制音频波形图(从音频流数据获取,而非设备获取)
3星 · 编辑精心推荐
在C#中,NAudio库是一个强大的音频处理工具,它允许开发者创建音频应用,包括异步播放音频文件。如果你需要同时播放一个多音频列表,并希望是异步的,你可以按照以下步骤操作:
1. 引入所需命名空间:
```csharp
using NAudio.Wave;
using System.Threading.Tasks;
```
2. 创建一个异步播放音频的函数:
```csharp
async Task PlayAudioList(IList<string> audioFilePaths)
{
WavePlayer[] players = new WavePlayer[filePaths.Count];
foreach (string filePath in audioFilePaths)
{
using (var audioStream = AudioFile.OpenRead(filePath))
{
players.Add(new WavePlayer(audioStream));
}
}
foreach (WavePlayer player in players)
{
await player.PlayAsync();
// 如果你想在每个音轨之间添加一些延迟或其他操作,可以在这里添加
await Task.Delay(1000); // 示例中每首歌间隔1秒播放
}
}
```
3. 调用函数并传递音频路径列表:
```csharp
IList<string> audioFiles = GetAudioFileList(); // 自定义获取音频文件的函数
PlayAudioList(audioFiles).Wait(); // 注意这里使用了同步等待,如果不想阻塞主线程,可以去掉`.Wait()`
```
阅读全文