C# de capturer des images à partir d'une webcam

Deux derniers jours, j'ai été à la recherche d'un moyen de capturer une image à partir de la webcam à l'aide de C#. Je suis assez nouveau en c# et je NE veux PAS avoir recours à des tiers libs, donc j'ai trouvé deux belles façons, mais les deux semble revenir, presque la même erreur. Je ne pouvais pas obtenir l'un d'eux de travailler, de sorte qu'il serait vraiment sympa si vous m'aider à obtenir l'un d'entre eux en cours d'exécution ou m'aider à trouver une solution de rechange.

La première manière que j'ai trouvé est à l'aide de Windows WIA. J'ai trouvé le code suivant:

CommonDialogClass dialog = new CommonDialogClass();
Device camera = dialog.ShowSelectDevice(WiaDeviceType.CameraDeviceType, true, false);
        //take the photo 
Item item = camera.ExecuteCommand(CommandID.wiaCommandTakePicture);
ImageFile image = (ImageFile)item.Transfer(FormatID.wiaFormatJPEG);
        //filename and saving 
image.SaveFile("Test.jpg");

ce code semble être exactement ce que je cherche, mais je ne peux pas essayer de le faire fonctionner, parce que je reçois l'erreur suivante s'affiche sur la deuxième ligne:

Exception from HRESULT: 0x80210015

La deuxième façon que j'ai trouvée est d'utiliser le Avicap32.dll avec l'exemple suivant:

http://www.timvw.be/wp-content/code/csharp/testavicap32.zip

mais je suis arriver sur ce code:

Image image = ((CaptureDevice)cboDevices.SelectedItem).Capture();
image.Save(@"c:\capture.png", ImageFormat.Png);

l'exception suivante:
NullReferenceException:
La référence d'objet n'est pas définie à une instance d'un objet.

Je pense que les deux solutions sont à l'origine des problèmes parce qu'ils ne peuvent pas trouver mon appareil photo, mais je peux utiliser ma caméra skype sans aucun problème.

OriginalL'auteur Viktor Kirilov | 2013-02-03