【问题标题】:Playing Wav with Directsound使用 Directsound 播放 Wav
【发布时间】:2012-01-13 20:40:14
【问题描述】:

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

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

【问题讨论】:

    标签: c# wav directsound


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的快速回复!我应该去哪里编辑应用程序配置?
    猜你喜欢
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 2019-08-13
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多