我在我的项目中使用DirectX.Capture和DShowNet dll。我在笔记本电脑上正确地从视频设备获取视频流(Windows 8)。我在另一台笔记本电脑(Windows 8.1)上试过它并且也正常工作。
但是当我在我的电脑上执行它时出现错误(Windows 8.1)。
我在PC上安装了我的视频设备驱动程序,它可以使用它的制造商的软件并显示视频流。但它不适用于我的代码。
我在下面的行中得到以下错误:
未处理的类型' System.NotSupportedException'发生在DirectX.Capture.dll
其他信息:没有类别的设备
这是我的代码:
private void Form1_Shown(object sender, EventArgs e)
{
filters = new Filters(); // error is on this line
if (filters.VideoInputDevices != null)
{
try
{
preview(deviceNumber);
}
catch (Exception ex)
{
MessageBox.Show("Maybe any other software is already using your WebCam.\n\n Error Message: \n\n" + ex.Message);
}
}
答案 0 :(得分:1)
已经过了一年多了,但我遇到了同样的问题。就我而言,我发现此时错误源于Filters.cs
public FilterCollection AudioInputDevices = new FilterCollection( FilterCategory.AudioInputDevice );
那是因为我没有连接麦克风(音频输入设备),虽然程序没有使用它,但因为它只传输视频。一旦连接,它现在可以正常工作。希望它有所帮助。