解决方案 »

  1.   

    兄弟,我看出一个问题,你看下这是不是主要问题.
    既然你用的是wpf框架,为什么还要再引入WinForm,这好像有点不伦不类吧?再说这俩伙不在同一个程序集里,你怎么把
    它们弄的一起的.为了弹出个对话框引用两个不同的框架好像有点蛋疼吧?
     System.Windows.Forms.MessageBox.Show("当前没有可用于音频捕捉的设备", "系统提示");
      

  2.   

    那个是因为我这个调用在类库里边,而不是在UI中。加上这句只是为了验证这个函数到底调用没有。
    如果CreateCaputerDevice()的内容仅含有
    System.Windows.Forms.MessageBox.Show("当前没有可用于音频捕捉的设备", "系统提示"); 
    return true;
    这个函数可以正常调用,对话框会弹出,但是加上
     CaptureDevicesCollection capturedev = new CaptureDevicesCollection();
                Guid devguid;
                if (capturedev.Count > 0)
                {
                    devguid = capturedev[0].DriverGuid;
                }
                else
                {
                    //System.Windows.Forms.MessageBox.Show("当前没有可用于音频捕捉的设备", "系统提示");
                    return false;
                }
                //利用设备GUID来建立一个捕捉设备对象
                capture = new Capture(devguid);就会出问题
               
      

  3.   

    你在这 CaptureDevicesCollection capturedev = new CaptureDevicesCollection();设个断点,单步执行,看到哪步出错
      

  4.   

    试过了,加上CaptureDevicesCollection capturedev = new CaptureDevicesCollection();……这个函数就不被调用了。
      

  5.   

    试过了,加上CaptureDevicesCollection capturedev = new CaptureDevicesCollection();……这个函数就不被调用了。
    如果不加的话可以弹出对话框,加上的话,对话框也不会弹出,下断点,这个函数就没执行过。单步调试也无法进行了
      

  6.   

    你直接放到try里看一下,是不是这个版本不兼容