c# AForge 摄像程序xp系统下不正常

AForge.NET 2.2.5 的videoSourcePlayer控件做的摄像程序在新装的xp系统下调用采摄像头无图像黑屏,采集不到图像,但摄像头灯会亮。
但把程序拷贝到win7或自己做开发的xp系统上能正常使用,在不能正常用的xp系统下直接用vc+ directshow开发的视频软件也能正常使用。
为什么会出现这种情况?

//代码
videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
。。。
//委托促发分辨率等设置
private void EnumeratedSupportedFrameSizes(VideoCaptureDevice videoDevice)
{
this.Cursor = Cursors.WaitCursor;

        videoResolutionsCombo.Items.Clear();
        snapshotResolutionsCombo.Items.Clear();

        try
        {
            videoCapabilities = videoDevice.VideoCapabilities;
            snapshotCapabilities = videoDevice.SnapshotCapabilities;

            //视频分辨率
            foreach (VideoCapabilities capabilty in videoCapabilities)
            {
                videoResolutionsCombo.Items.Add(string.Format("{0} x {1}",
                    capabilty.FrameSize.Width, capabilty.FrameSize.Height));
            }
            //快照
            foreach (VideoCapabilities capabilty in snapshotCapabilities)
            {
                snapshotResolutionsCombo.Items.Add(string.Format("{0} x {1}",
                    capabilty.FrameSize.Width, capabilty.FrameSize.Height));
            }


            if (videoCapabilities.Length == 0)
            {
                videoResolutionsCombo.Items.Add("不支持");
            }

            if (snapshotCapabilities.Length == 0)
            {
                snapshotResolutionsCombo.Items.Add("不支持");
            }

            videoResolutionsCombo.SelectedIndex = Convert.ToInt32( ContentValue("Device", "SVideoIndex"));
            snapshotResolutionsCombo.SelectedIndex = 0;
        }
        finally
        {
            this.Cursor = Cursors.Default;
        }
    }
设备连接

private void VideoConnect()
{
if (videoDevice != null)
{
//选择连接设备
if ((videoCapabilities != null) && (videoCapabilities.Length != 0))
{

//分辨率设置
videoDevice.VideoResolution = videoCapabilities[videoResolutionsCombo.SelectedIndex];

}

            //快照用
            if ((snapshotCapabilities != null) && (snapshotCapabilities.Length != 0))
            {
                videoDevice.ProvideSnapshots = true;
                videoDevice.SnapshotResolution = snapshotCapabilities[snapshotResolutionsCombo.SelectedIndex];
                videoDevice.SnapshotFrame += new NewFrameEventHandler(videoDevice_SnapshotFrame);
            }

            EnableConnectionControls(false);
            videoSourcePlayer.VideoSource = videoDevice;
            videoSourcePlayer.Start();
        }
    }