Incorporar vídeo no PowerPoint usando C#

Os quadros de vídeo são usados em apresentações do PowerPoint para demonstrar algo ou atrair o público. Muitas vezes, os vídeos são usados para economizar tempo e tornar as apresentações mais eficazes. Neste artigo, você aprenderá a trabalhar com vídeos em apresentações de forma programática. Particularmente, o artigo abordará como incorporar ou extrair um vídeo em uma apresentação do PowerPoint usando C#.

API .NET para incorporar vídeo em apresentações do PowerPoint

Para incorporar ou extrair vídeos em apresentações do PowerPoint, usaremos Aspose.Slides for .NET. A API foi projetada para criar e manipular documentos do PowerPoint e do OpenOffice. Você pode instalar a API via NuGet ou download sua DLL.

PM> Install-Package Aspose.Slides.NET

Incorporar um vídeo na apresentação do PowerPoint usando C#

A seguir estão as etapas para incorporar um vídeo em uma apresentação do PowerPoint usando C#.

O exemplo de código a seguir mostra como incorporar um vídeo em uma apresentação do PowerPoint usando C#.

// Instanciar a classe de apresentação que representa o PPTX
using (Presentation pres = new Presentation())
{
    // Obter o primeiro slide
    ISlide sld = pres.Slides[0];

    // Adicionar vídeo à apresentação
    IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));

    // Adicionar quadro de vídeo
    IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);

    // Atribuir vídeo ao quadro de vídeo
    vf.EmbeddedVideo = vid;

    // Defina o modo de reprodução e o volume do vídeo
    vf.PlayMode = VideoPlayModePreset.Auto;
    vf.Volume = AudioVolumeMode.Loud;

    // Gravar o arquivo PPTX no disco
    pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}

Incorporar vídeo em apresentações de uma fonte da Web

Você também pode incorporar um vídeo nas apresentações do PowerPoint de uma fonte da Web. A seguir estão os passos para conseguir isso.

O exemplo de código a seguir mostra como incorporar um vídeo na apresentação de uma fonte da Web.

using (Presentation pres = new Presentation())
{
    // ID do vídeo
    string videoId = "Tj75Arhq5ho";

    // Adicionar quadro de vídeo
    IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
    videoFrame.PlayMode = VideoPlayModePreset.Auto;

    // Carregar miniatura
    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));
    }

    // Salvar apresentação
    pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}

Extrair vídeo de uma apresentação do PowerPoint em C#

Aspose.Slides for .NET também permite extrair um vídeo de uma apresentação. Abaixo estão os passos simples para conseguir isso.

O exemplo de código a seguir mostra como extrair vídeos de uma apresentação do PowerPoint usando C#.

// Carregar um arquivo de apresentação 
Presentation presentation = new Presentation("Video.pptx");

// Percorrer os slides na apresentação
foreach (ISlide slide in presentation.Slides)
{
    // Percorrer as formas
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        if (shape is VideoFrame)
        {
            // Extraia e salve o vídeo
            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);
            }
        }
    }
}

Obtenha uma licença de API gratuita

Você pode usar o Aspose.Slides para .NET sem limitações de avaliação solicitando uma licença temporária.

Conclusão

Neste artigo, você aprendeu como incorporar vídeos em apresentações do PowerPoint usando C#. Além disso, você viu como extrair vídeos de uma apresentação programaticamente. Além disso, você pode visitar a documentação para explorar mais sobre o Aspose.Slides para .NET. Além disso, você pode postar suas dúvidas em nosso fórum.

Veja também