2012-01-13 70 views
0

我需要播放多個在不同時間開始的波形文件(並非全部在一起)。我試圖用Directsound播放這些文件,但是出現了一個問題。我有以下代碼:使用Directsound播放Wav

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的=新的設備();),並編譯發生錯誤程序(ConsoleApplication1遇到了問題,需要關閉)。即使刪除除第一行之外的所有代碼,也會發生這種情況。控制檯錯誤如下所示:「混合模式程序集針對運行時的v1.1.4322版本構建,無需在沒有附加配置信息的情況下在4.0運行時加載」。

如果這個問題不能解決,是否有另一種方式來播放多個聲音。聲音必須有最小的延遲,並且必須立即播放,不得有任何延遲。

回答

0

您需要修改應用程序的配置包括:

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

應該使你可以使用舊的.NET的DLL。

+0

感謝您的快速回復!我應該在哪裏編輯應用程序配置? – Jakpot 2012-01-13 21:06:36

+0

10x很多工作:) – Jakpot 2012-01-13 21:15:48