c#如何播放多个.wav文件,并设置每个文件的音量

Posted

技术标签:

【中文标题】c#如何播放多个.wav文件,并设置每个文件的音量【英文标题】:c# How do I play multiple .wav files, and set the volume of each 【发布时间】:2011-08-07 22:27:18 【问题描述】:

我目前正在玩 c#,我想在后台播放一些音乐,并在用户点击按钮或发生其他小动作时发出其他小声音。 (具体来说,我正在制作一个小游戏,使用 mogre3d,我只是到了需要添加一点声音的地步。

1) C# 中是否已经内置了同时播放多个 wav 文件的方法?我曾尝试使用 System.Media.SoundPlayer,但一次只能播放一个 wav 文件(而且我无法设置播放的音量)。

2) 一次播放多个声音并能够设置每个声音音量的最佳/最简单方法是什么?

我对 C# 非常陌生,我确信它们一定是一个我没有看到的简单解决方案。它不需要是 wav,它可以很容易地是 mp3/et al。但解决方案越简单越好。

感谢您的宝贵时间!

【问题讨论】:

我认为是控制台。所以在你列出的两个中,我认为 WinForms(?)谢谢 我从未尝试过播放 .wav 文件,我会一直使用该功能,但我忘记了。又是什么?呃,呃,dos 包中的一个,我想是sound() 但是呃,我不知道。我会播放一堆这样的声音来制作游戏音乐,但这个问题很聪明。 【参考方案1】:

快速

使用该方法更改整体音量:http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/42b46e40-4d4a-48f8-8681-9b0167cfe781,您可以使用单独的 SoundPlayer 实例同时播放 .wav 文件。

更好的独立卷

我会使用Bass.Net。良好的文档和简单。

【讨论】:

这是错误的。您不能使用单独的声音播放器实例同时播放 .wav 文件。【参考方案2】:

您可以使用System.Media.SoundPlayer 类同时播放多个 .wav 文件:为此,只需为您希望播放的每个 .wav 文件创建一个 soundPlayer 实例。但是您不能以这种方式独立设置音量。

如果您想要音频文件的更多功能,我建议您查看NAudio 库。

【讨论】:

创建多个SoundPlayer 对象不起作用。自己检查一下 如果你播放第二个声音,它会停止第一个。

以上是关于c#如何播放多个.wav文件,并设置每个文件的音量的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有关联应用程序的情况下直接播放声音文件(mp3、wav 等)?

如何保存同时播放两个曲目的wav文件?在不同的体积

求助:关于C#中使用axwindowsmediaplayer 播放wav文件的问题

求助:C#中使用axwindowsmediaplayer 播放wav文件的问题

同时使用 DirectShow 播放多个 wav 文件并记录它们 C++

如何用C语言编写程序将多个wav文件拼接成一个音频wav文件并播放