C#呼叫Microsoft.DirectX.DirectSound問題記錄及解決
阿新 • • 發佈:2018-11-09
問題1:初始化結構體WaveFormat或其他變數時卡死
修改App.config,修改方法如下:
原App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
修改後的App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/> </startup>
</configuration>
問題2:其他資訊: DLL“Microsoft.DirectX.DirectSound.dll”正嘗試在 OS 載入程式鎖內執行託管程式碼。
把Visual Studio選單的 除錯->異常->Managed Debuggin Assistants->LoaderLock 的選中狀態去掉(我沒有找到異常選單,但是使用快捷鍵Ctrl+Alt+E打開了異常對話方塊)。我認為這種做法不是解決辦法,只是把異常給關掉了,但是暫時沒有發現別的方法。
問題3:System.TypeInitializationException
該錯誤是因為系統沒有檢測到麥克風引起,所以解決方法是
- 在程式中增加異常處理機制,捕捉異常,及時處理並做相應提示。
- 插入麥克風,或者啟用虛擬麥克風