1. 程式人生 > >C#呼叫Microsoft.DirectX.DirectSound問題記錄及解決

C#呼叫Microsoft.DirectX.DirectSound問題記錄及解決

問題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

該錯誤是因為系統沒有檢測到麥克風引起,所以解決方法是
- 在程式中增加異常處理機制,捕捉異常,及時處理並做相應提示。
- 插入麥克風,或者啟用虛擬麥克風