C # Windows Forms erfasst ein Bild aus dem eingebetteten Windows Media Player

Ich habe eine Windows Forms-Anwendung in C # geschrieben, die eingebetteten Windows Media Player (AxInterop.WMPLib.dll und WMPLib.dll) verwendet, um einige Videodateien abzuspielen. Jetzt muss ich eine Option hinzufügen, um ein Bild vom Video auf Knopfdruck aufzunehmen. Wenn ich die fensterlose Option auf "true" setze, kann ich ein Bild eines Videos aufnehmen, aber wenn ich die fensterlose Option auf "true" setze, wird auf einigen Computern kein Videobild angezeigt. Ohne die fensterlose Option bekomme ich nur einen schwarzen Bildschirm mit diesem Code:

        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){ }

Wie kann ich ein Einzelbild (Snapshot) von einem Video aufnehmen, das in eingebettetem Windows Media Player ohne die fensterlose Option in C # wiedergegeben wird?

Oder gibt es einen anderen Videoplayer für C # -Fensterformulare, der einfach implementiert werden kann und die Aufnahmefunktionalität unterstützt?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage