Comment faire une capture d'écran vidéo en utilisant Direct Show.net Library? J'ai lu msdn Afficher le document et trouver le moyen de changer le périphérique source vidéo dans le code suivant. Ce code a obtenu webcamera comme appareil vidéo.Comment faire une capture d'écran vidéo en utilisant Direct Show.net Library?
public IBaseFilter FindCaptureDevice()
{
int hr = 0;
IEnumMoniker classEnum = null;
IMoniker[] moniker = new IMoniker[1];
object source = null;
// Create the system device enumerator
ICreateDevEnum devEnum = (ICreateDevEnum) new CreateDevEnum();
// Create an enumerator for the video capture devices
hr = devEnum.CreateClassEnumerator(FilterCategory.VideoInputDevice, out classEnum,0);
DsError.ThrowExceptionForHR(hr);
// The device enumerator is no more needed
Marshal.ReleaseComObject(devEnum);
// If there are no enumerators for the requested type, then
// CreateClassEnumerator will succeed, but classEnum will be NULL.
if (classEnum == null)
{
throw new ApplicationException("No video capture device was detected.\r\n\r\n" +
"This sample requires a video capture device, such as a USB WebCam,\r\n" +
"to be installed and working properly. The sample will now close.");
}
if (classEnum.Next (moniker.Length, moniker, IntPtr.Zero) == 0)
{
Guid iid = typeof(IBaseFilter).GUID;
moniker[0].BindToObject(null, null, ref iid, out source);
}
else
{
throw new ApplicationException("Unable to access video capture device!");
}
Marshal.ReleaseComObject(moniker[0]);
Marshal.ReleaseComObject(classEnum);
return (IBaseFilter) source;
}
Je trouve PushSourceDestop et compile que j'obtiendrai PushSourceDestop.obj. Comment l'insérer dans mon projet et dans le graphique? Je suis novice avec ça. Je vous remercie –