0

我需要播放多个从不同时间开始的波形文件(不是一起)。我试图使用 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 运行时加载”。

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

4

1 回答 1

0

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

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

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

于 2012-01-13T20:43:46.783 回答