Los cuadros de video se usan en presentaciones de PowerPoint para demostrar algo o para atraer a la audiencia. A menudo, los videos se usan para ahorrar tiempo y hacer que las presentaciones sean más efectivas. En este artículo, aprenderá cómo trabajar con videos en presentaciones mediante programación. En particular, el artículo cubrirá cómo incrustar o extraer un video en una presentación de PowerPoint usando C#.
- .NET API para incrustar video en presentaciones de PowerPoint
- Incrustar un video en una presentación de PowerPoint usando C#
- Incrustar video desde fuente web
- Extraer video de una presentación de PowerPoint
.NET API para incrustar video en presentaciones de PowerPoint
Para incrustar o extraer videos en presentaciones de PowerPoint, usaremos Aspose.Slides for .NET. La API está diseñada para crear y manipular documentos de PowerPoint y OpenOffice. Puede instalar la API a través de NuGet o descargar su DLL.
PM> Install-Package Aspose.Slides.NET
Incrustar un video en una presentación de PowerPoint usando C#
Los siguientes son los pasos para incrustar un video en una presentación de PowerPoint usando C#.
- Primero, cargue el archivo de PowerPoint o cree uno nuevo usando la clase Presentation.
- Luego, obtenga la referencia de la diapositiva deseada en un objeto ISlide.
- Agregue un nuevo video a la colección de videos de la presentación usando el método Presentation.Videos.AddVideo() y obtenga su referencia en un objeto IVideo.
- Agregue un nuevo cuadro de video en la diapositiva usando el método ISlide.Shapes.AddVideoFrame(single, single, single, single, IVideo).
- Obtenga la referencia del cuadro de video en un objeto IVideoFrame.
- Configure el modo de reproducción y el volumen del video.
- Finalmente, guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo incrustar un video en una presentación de PowerPoint usando C#.
// Instanciar la clase de presentación que representa el PPTX
using (Presentation pres = new Presentation())
{
// Obtener la primera diapositiva
ISlide sld = pres.Slides[0];
// Agregar video a la presentación
IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));
// Agregar cuadro de video
IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);
// Asignar video a cuadro de video
vf.EmbeddedVideo = vid;
// Establecer el modo de reproducción y el volumen del video
vf.PlayMode = VideoPlayModePreset.Auto;
vf.Volume = AudioVolumeMode.Loud;
// Escriba el archivo PPTX en el disco
pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}
Incrustar video en presentaciones desde una fuente web
También puede incrustar un video en las presentaciones de PowerPoint desde una fuente web. Los siguientes son los pasos para lograrlo.
- Primero, cargue el archivo de PowerPoint o cree uno nuevo usando la clase Presentation.
- Luego, obtenga la referencia de la diapositiva deseada en un objeto ISlide.
- Agregue un nuevo cuadro de video en la diapositiva especificando la URL del video en el método ISlide.Shapes.AddVideoFrame(single, single, single, single, String).
- Obtenga la referencia del cuadro de video en un objeto IVideoFrame.
- Configure el modo de reproducción y el volumen del video.
- Configure la miniatura del video usando un WebClient.
- Guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo incrustar un video en la presentación desde una fuente web.
using (Presentation pres = new Presentation())
{
// identificación de vídeo
string videoId = "Tj75Arhq5ho";
// Agregar cuadro de video
IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
videoFrame.PlayMode = VideoPlayModePreset.Auto;
// Cargar 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));
}
// Guardar presentación
pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}
Extraer video de una presentación de PowerPoint en C#
Aspose.Slides for .NET también le permite extraer un video de una presentación. A continuación se detallan los sencillos pasos para lograrlo.
- Primero, cargue el archivo de PowerPoint usando la clase Presentation.
- Luego, recorra cada ISlide en la colección Presentation.Slides.
- Para cada objeto ISlide, recorra la colección de IShape en él.
- Si IShape es un VideoFrame, extraiga y guarde el video incrustado.
El siguiente ejemplo de código muestra cómo extraer videos de una presentación de PowerPoint usando C#.
// Cargar un archivo de presentación
Presentation presentation = new Presentation("Video.pptx");
// Pasar por las diapositivas de la presentación
foreach (ISlide slide in presentation.Slides)
{
// Bucle a través de formas
foreach (IShape shape in presentation.Slides[0].Shapes)
{
if (shape is VideoFrame)
{
// Extraer y guardar 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);
}
}
}
}
Obtenga una licencia de API gratuita
Puede usar Aspose.Slides for .NET sin limitaciones de evaluación solicitando una licencia temporal.
Conclusión
En este artículo, ha aprendido a incrustar videos en presentaciones de PowerPoint usando C#. Además, ha visto cómo extraer videos de una presentación mediante programación. Además de esto, puede visitar la documentación para explorar más sobre Aspose.Slides for .NET. Además, puede publicar sus consultas en nuestro foro.
Ver también
- Crear presentaciones de MS PowerPoint en C#
- Convierta PowerPoint PPTX/PPT a imágenes PNG en C#
- Establecer fondo de diapositiva en presentaciones de PowerPoint usando C#
- Genere miniaturas para PowerPoint PPTX o PPT usando C#
- Aplicar animación a texto en PowerPoint usando C#
- Dividir presentaciones de PowerPoint usando C#