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
- Incorporar um vídeo em uma apresentação do PowerPoint usando C#
- Incorporar vídeo da fonte da Web
- Extrair vídeo de uma apresentação do PowerPoint
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#.
- Primeiro, carregue o arquivo PowerPoint ou crie um novo usando a classe Apresentação.
- Em seguida, obtenha a referência do slide desejado em um objeto ISlide.
- Adicione um novo vídeo à coleção de vídeos da apresentação usando o método Presentation.Videos.AddVideo() e obtenha sua referência em um objeto IVideo.
- Adicione um novo quadro de vídeo no slide usando o método ISlide.Shapes.AddVideoFrame(single, single, single, single, IVideo).
- Obtenha a referência do quadro de vídeo em um objeto IVideoFrame.
- Defina o modo de reprodução e o volume do vídeo.
- Finalmente, salve a apresentação usando o método Presentation.Save(String, SaveFormat).
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.
- Primeiro, carregue o arquivo PowerPoint ou crie um novo usando a classe Apresentação.
- Em seguida, obtenha a referência do slide desejado em um objeto ISlide.
- Adicione um novo quadro de vídeo no slide especificando o URL do vídeo no método ISlide.Shapes.AddVideoFrame(single, single, single, single, String).
- Obtenha a referência do quadro de vídeo em um objeto IVideoFrame.
- Defina o modo de reprodução e o volume do vídeo.
- Defina a miniatura do vídeo usando um WebClient.
- Salve a apresentação usando o método Presentation.Save(String, SaveFormat).
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.
- Primeiro, carregue o arquivo PowerPoint usando a classe Apresentação.
- Em seguida, percorra cada ISlide na coleção Presentation.Slides.
- Para cada objeto ISlide, percorra a coleção de IShape nele.
- Se IShape for um VideoFrame, extraia e salve o vídeo incorporado.
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
- Criar apresentações do MS PowerPoint em C#
- Converter PowerPoint PPTX/PPT para imagens PNG em C#
- Definir plano de fundo do slide em apresentações do PowerPoint usando C#
- Gerar miniaturas para PowerPoint PPTX ou PPT usando C#
- Aplicar animação ao texto no PowerPoint usando C#
- Dividir apresentações do PowerPoint usando C#