C# 使用Directsound播放Wav

C# 使用Directsound播放Wav,c#,wav,directsound,C#,Wav,Directsound,我需要播放在不同时间开始的多个wave文件(不是全部)。我试图使用Directsound播放文件,但出现了一个问题。我有以下代码: var dev = new Device(); //This line creates the problem dev.SetCooperativeLevel(this, CooperativeLevel.Normal); MemoryStream ms = new MemoryStream(Sample1); soundBuffer = new Micr

我需要播放在不同时间开始的多个wave文件(不是全部)。我试图使用Directsound播放文件,但出现了一个问题。我有以下代码:

var dev = new Device();      //This line creates the problem
dev.SetCooperativeLevel(this, CooperativeLevel.Normal);
MemoryStream ms = new MemoryStream(Sample1);
soundBuffer = new Microsoft.DirectX.DirectSound.Buffer(ms, dev);
SecondaryBuffer sound = new SecondaryBuffer(ms,dev);
sound.Play();
问题是当我键入第一行(var dev=new Device();)并编译程序时出现错误(ConsoleApplication1遇到问题,需要关闭)。即使删除除第一行以外的所有代码,也会发生这种情况。控制台错误如下:“混合模式程序集是根据运行时版本v1.1.4322构建的,如果没有其他配置信息,无法在4.0运行时中加载”


如果此问题无法解决,是否有其他方法播放多个声音。声音必须有最小的延迟,并且必须立即播放,没有任何延迟

您需要编辑应用程序配置以包括:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>


这应该允许您使用旧的.NET DLL

谢谢你的快速回复!我应该去哪里编辑应用程序配置?