Bädda in video i PowerPoint med C#

Videoramar används i PowerPoint-presentationer för att demonstrera något eller för att locka publiken. Ofta används videorna för att spara tid och göra presentationerna mer effektiva. I den här artikeln kommer du att lära dig hur du arbetar med videor i presentationer programmatiskt. Speciellt kommer artikeln att täcka hur man bäddar in eller extraherar en video i en PowerPoint-presentation med C#.

.NET API för att bädda in video i PowerPoint-presentationer

För att bädda in eller extrahera videor i PowerPoint-presentationer kommer vi att använda Aspose.Slides for .NET. API:et är utformat för att skapa och manipulera PowerPoint- och OpenOffice-dokument. Du kan antingen installera API:t via NuGet eller ladda ner dess DLL.

PM> Install-Package Aspose.Slides.NET

Bädda in en video i PowerPoint-presentation med C#

Följande är stegen för att bädda in en video i en PowerPoint-presentation med C#.

Följande kodexempel visar hur man bäddar in en video i en PowerPoint-presentation med C#.

// Instantiate Presentation-klass som representerar PPTX
using (Presentation pres = new Presentation())
{
    // Få den första bilden
    ISlide sld = pres.Slides[0];

    // Lägg till video till presentationen
    IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));

    // Lägg till videoram
    IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);

    // Tilldela video till videoram
    vf.EmbeddedVideo = vid;

    // Ställ in uppspelningsläge och volym för videon
    vf.PlayMode = VideoPlayModePreset.Auto;
    vf.Volume = AudioVolumeMode.Loud;

    // Skriv PPTX-filen till disken
    pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}

Bädda in video i presentationer från en webbkälla

Du kan också bädda in en video i PowerPoint-presentationer från en webbkälla. Följande är stegen för att uppnå detta.

Följande kodexempel visar hur man bäddar in en video i presentationen från en webbkälla.

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

    // Lägg till videoram
    IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
    videoFrame.PlayMode = VideoPlayModePreset.Auto;

    // Ladda miniatyrbild
    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));
    }

    // Spara presentationen
    pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}

Extrahera video från en PowerPoint-presentation i C#

Aspose.Slides för .NET låter dig också extrahera en video från en presentation. Nedan följer de enkla stegen för att uppnå detta.

Följande kodexempel visar hur man extraherar videor från en PowerPoint-presentation med C#.

// Ladda en presentationsfil 
Presentation presentation = new Presentation("Video.pptx");

// Gå igenom bilderna i presentationen
foreach (ISlide slide in presentation.Slides)
{
    // Slinga genom former
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        if (shape is VideoFrame)
        {
            // Extrahera och spara video
            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);
            }
        }
    }
}

Skaffa en gratis API-licens

Du kan använda Aspose.Slides för .NET utan utvärderingsbegränsningar genom att begära en tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du bäddar in videor i PowerPoint-presentationer med C#. Dessutom har du sett hur man extraherar videor från en presentation programmatiskt. Utöver detta kan du besöka dokumentationen för att utforska mer om Aspose.Slides för .NET. Du kan också skicka dina frågor till vårt forum.

Se även