我需要播放多个波形文件,在不同的时间开始(不是所有在一起)。我试图使用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运行时中加载”。
如果此问题无法修复,是否有其他方法可以播放多个声音。声音必须具有最小的延迟,并且必须立即播放,没有任何延迟。
发布于 2012-01-14 04:43:47
您需要编辑应用程序配置以包括:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>这应该允许您使用较旧的.NET dlls。
https://stackoverflow.com/questions/8856940
复制相似问题