下面的代碼直接死機?請問是什么原因
環境:Windows10
測驗程序:
1、直接寫下面代碼,沒有Microsoft.DirectX、和Microsoft.DirectX.DirectSound參考,報錯
2、下載了一個 directx12_x64,實際上是directx_11_redist.exe,安裝完后,在C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0有了這兩個DLL,我直接參考了,編譯不再報錯了,但是一運行就不動了,什么錯都不報。
3、再去下載directx_9.29.952.exe,即directX9,安裝完成(沒卸載directx_11),把那兩個DLL檔案copy到我的專案下,debug下面也copy了一份,參考編輯通過,運行就不動了,什么錯都不報?
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.DirectSound;
namespace RecordTest
{
static class Program
{
/// <summary>
/// 應用程式的主入口點。
/// </summary>
[STAThread]
static void Main()
{
try {
CaptureDevicesCollection devices = new CaptureDevicesCollection(); // 列舉音頻捕捉設備===就在這里死機了
} catch (Exception ex) {
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
uj5u.com熱心網友回復:
說明一下,我的電腦是有帶麥克風的,我用QQ測驗過,可以語音uj5u.com熱心網友回復:
我換了一臺windows10電腦試了一下:安裝directX9(這臺電腦沒有directX11,但windows10默認是有directX12的),把那兩個DLL檔案copy到我的專案下,debug下面也copy了一份,參考編輯通過,運行到那一行,也是不動了,什么錯都不報?就好象運行完成了,但后繼的代碼實際上沒運行(我打斷點了)uj5u.com熱心網友回復:
我發現根本這個專案就沒啟動起來,就是一行代碼都沒運行,好象編譯就出錯了那樣(但沒看到報錯),因為在CaptureDevicesCollection 之前加了一行:int a = 1;連這一句都執行不到,直接就完成了
區域代碼如下:
int a = 1;
try {
CaptureDevicesCollection devices = new CaptureDevicesCollection(); // 列舉音頻捕捉設備
} catch (Exception ex) {
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/257611.html
標籤:C#
上一篇:資料庫中要查詢幾百個號碼是否存在
