Einbetten von Videos in PowerPoint mit C#

Videoframes werden in PowerPoint Präsentationen verwendet, um etwas zu demonstrieren oder das Publikum anzulocken. Oft werden die Videos verwendet, um Zeit zu sparen und die Präsentationen effektiver zu gestalten. In diesem Artikel erfahren Sie, wie Sie programmgesteuert mit Videos in Präsentationen arbeiten. Der Artikel behandelt insbesondere das Einbetten oder Extrahieren eines Videos in einer PowerPoint Präsentation mit C#.

.NET API zum Einbetten von Videos in PowerPoint Präsentationen

Um Videos in PowerPoint Präsentationen einzubetten oder zu extrahieren, verwenden wir Aspose.Slides for .NET. Die API dient zum Erstellen und Bearbeiten von PowerPoint und OpenOffice Dokumenten. Sie können die API entweder über NuGet installieren oder ihre DLL herunterladen.

PM> Install-Package Aspose.Slides.NET

Einbetten eines Videos in eine PowerPoint Präsentation mit C#

Im Folgenden finden Sie die Schritte zum Einbetten eines Videos in eine PowerPoint Präsentation mit C#.

Das folgende Codebeispiel zeigt, wie Sie ein Video mit C# in eine PowerPoint Präsentation einbetten.

// Instanziieren Sie die Presentation klasse , die PPTX darstellt
using (Presentation pres = new Presentation())
{
    // Holen Sie sich die erste Folie
    ISlide sld = pres.Slides[0];

    // Video zur Präsentation hinzufügen
    IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));

    // Videoframe hinzufügen
    IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);

    // Video einem Videoframe zuweisen
    vf.EmbeddedVideo = vid;

    // Stellen Sie den Wiedergabemodus und die Lautstärke des Videos ein
    vf.PlayMode = VideoPlayModePreset.Auto;
    vf.Volume = AudioVolumeMode.Loud;

    // Schreiben Sie die PPTX Datei auf die Festplatte
    pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}

Einbetten von Videos in Präsentationen aus einer Webquelle

Sie können auch ein Video aus einer Webquelle in die PowerPoint Präsentationen einbetten. Im Folgenden sind die Schritte aufgeführt, um dies zu erreichen.

Das folgende Codebeispiel zeigt, wie Sie ein Video aus einer Webquelle in die Präsentation einbetten.

using (Presentation pres = new Presentation())
{
    // Video-ID
    string videoId = "Tj75Arhq5ho";

    // Videoframe hinzufügen
    IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
    videoFrame.PlayMode = VideoPlayModePreset.Auto;

    // Vorschaubild laden
    using (WebClient client = new WebClient())
    {
        string thumbnailUri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg";
        videoFrame.PictureFormat.Picture.Image = pres.Images.AddImage(client.DownloadData(thumbnailUri));
    }

    // Präsentation speichern
    pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}

Video aus einer PowerPoint Präsentation in C# extrahieren

Mit Aspose.Slides for .NET können Sie auch ein Video aus einer Präsentation extrahieren. Im Folgenden finden Sie die einfachen Schritte, um dies zu erreichen.

  • Laden Sie zuerst die PowerPoint Datei mit der Klasse Presentation.
  • Durchlaufen Sie dann alle ISlide in der Presentation.Slides Sammlung.
  • Durchlaufen Sie für jedes ISlide objekt die Sammlung von IShape darin.
  • Wenn IShape ein VideoFrame ist, extrahieren und speichern Sie das eingebettete Video.

Das folgende Codebeispiel zeigt, wie Sie Videos aus einer PowerPoint Präsentation mit C# extrahieren.

// Laden Sie eine Präsentationsdatei 
Presentation presentation = new Presentation("Video.pptx");

// Durchlaufen Sie die Folien in der Präsentation
foreach (ISlide slide in presentation.Slides)
{
    // Loop durch Formen
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        if (shape is VideoFrame)
        {
            // Videos extrahieren und speichern
            IVideoFrame vf = shape as IVideoFrame;
            String type = vf.EmbeddedVideo.ContentType;
            int ss = type.LastIndexOf('/');
            type = type.Remove(0, type.LastIndexOf('/') + 1);
            Byte[] buffer = vf.EmbeddedVideo.BinaryData;
            using (FileStream stream = new FileStream("NewVideo_out." + type, FileMode.Create, FileAccess.Write, FileShare.Read))
            {                                                     
                stream.Write(buffer, 0, buffer.Length);
            }
        }
    }
}

Holen Sie sich eine kostenlose API Lizenz

Sie können Aspose.Slides for .NET ohne Evaluierungseinschränkungen verwenden, indem Sie eine temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Videos mit C# in PowerPoint Präsentationen einbetten. Außerdem haben Sie gesehen, wie Sie Videos programmgesteuert aus einer Präsentation extrahieren. Darüber hinaus können Sie die Dokumentation aufrufen, um mehr über Aspose.Slides for .NET zu erfahren. Sie können Ihre Fragen auch in unserem Forum posten.

Siehe auch