Windows Forms C # захватывают изображение из встроенного проигрывателя Windows Media
У меня есть приложение Windows Forms, написанное на C #, которое использует встроенный проигрыватель Windows Media (AxInterop.WMPLib.dll и WMPLib.dll) для воспроизведения некоторых видеофайлов. Теперь мне нужно добавить опцию для захвата изображения из видео по нажатию кнопки. Если для параметра без окон установлено значение true, я могу сделать снимок видео, но когда для параметра без окон установлено значение true, видеоизображение на некоторых компьютерах не отображается. Без опции без окон я получаю только черный экран с этим кодом:
System.Drawing.Image ret = null;
try{
Bitmap bitmap = new Bitmap(wmPlayer.Width-26, wmPlayer.Height-66);
{
Graphics g = Graphics.FromImage(bitmap);
{
Graphics gg = wmPlayer.CreateGraphics();
{
this.BringToFront();
g.CopyFromScreen(
wmPlayer.PointToScreen(
new System.Drawing.Point()).X+13,
wmPlayer.PointToScreen(
new System.Drawing.Point()).Y,
0, 0,
new System.Drawing.Size(
wmPlayer.Width-26,
wmPlayer.Height-66)
);
}
}
using (MemoryStream ms = new MemoryStream()){
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
ret = System.Drawing.Image.FromStream(ms);
ret.Save(@"C:\\WMP_capture.png");
pictureBox1.Image=ret;
}
}
bitmap.Dispose();
}catch (Exception){ }
Как я могу захватить кадр (снимок) из видео, воспроизводимого во встроенном проигрывателе Windows Media, без опции окна в C #?
Или есть какой-либо другой видеопроигрыватель для форм окон C #, который можно легко реализовать и который поддерживает функцию захвата.