用Directsound播放Wav

时间:2012-01-13 20:40:14

标签: c# wav directsound

我需要播放多个波形文件,这些文件在不同时间开始(并非全部在一起)。我试图使用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运行时加载”。

如果此问题无法解决,是否有另一种播放多种声音的方法。声音必须具有最小延迟,并且必须立即播放而不会有任何延迟。

1 个答案:

答案 0 :(得分:0)

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

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

哪些应该允许您使用较旧的.NET dll。