Les images vidéo sont utilisées dans les présentations PowerPoint pour démontrer quelque chose ou pour attirer le public. Souvent, les vidéos sont utilisées pour gagner du temps et rendre les présentations plus efficaces. Dans cet article, vous apprendrez à utiliser des vidéos dans des présentations par programmation. En particulier, l’article expliquera comment intégrer ou extraire une vidéo dans une présentation PowerPoint à l’aide de C#.
- API .NET pour intégrer la vidéo dans les présentations PowerPoint
- Intégrer une vidéo dans une présentation PowerPoint à l’aide de C#
- Intégrer une vidéo à partir d’une source Web
- Extraire une vidéo d’une présentation PowerPoint
API .NET pour intégrer la vidéo dans les présentations PowerPoint
Afin d’intégrer ou d’extraire des vidéos dans des présentations PowerPoint, nous utiliserons Aspose.Slides for .NET. L’API est conçue pour créer et manipuler des documents PowerPoint et OpenOffice. Vous pouvez soit installer l’API via NuGet ou télécharger sa DLL.
PM> Install-Package Aspose.Slides.NET
Intégrer une vidéo dans une présentation PowerPoint à l’aide de C#
Voici les étapes pour intégrer une vidéo dans une présentation PowerPoint à l’aide de C#.
- Commencez par charger le fichier PowerPoint ou créez-en un nouveau à l’aide de la classe Presentation.
- Ensuite, obtenez la référence de la diapositive souhaitée dans un objet ISlide.
- Ajoutez une nouvelle vidéo dans la collection de vidéos de la présentation à l’aide de la méthode Presentation.Videos.AddVideo() et récupérez sa référence dans un objet IVideo.
- Ajoutez une nouvelle image vidéo dans la diapositive à l’aide de la méthode ISlide.Shapes.AddVideoFrame(single, single, single, single, IVideo).
- Récupère la référence de l’image vidéo dans un objet IVideoFrame.
- Réglez le mode de lecture et le volume de la vidéo.
- Enfin, enregistrez la présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).
L’exemple de code suivant montre comment incorporer une vidéo dans une présentation PowerPoint à l’aide de C#.
// Instancier la classe de présentation qui représente le PPTX
using (Presentation pres = new Presentation())
{
// Obtenir la première diapositive
ISlide sld = pres.Slides[0];
// Ajouter une vidéo à la présentation
IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));
// Ajouter une image vidéo
IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);
// Affecter la vidéo à l'image vidéo
vf.EmbeddedVideo = vid;
// Définir le mode de lecture et le volume de la vidéo
vf.PlayMode = VideoPlayModePreset.Auto;
vf.Volume = AudioVolumeMode.Loud;
// Écrire le fichier PPTX sur le disque
pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}
Intégrer une vidéo dans des présentations à partir d’une source Web
Vous pouvez également intégrer une vidéo dans les présentations PowerPoint à partir d’une source Web. Voici les étapes pour y parvenir.
- Tout d’abord, chargez le fichier PowerPoint ou créez-en un nouveau à l’aide de la classe Presentation.
- Ensuite, obtenez la référence de la diapositive souhaitée dans un objet ISlide.
- Ajoutez une nouvelle image vidéo dans la diapositive en spécifiant l’URL de la vidéo dans la méthode ISlide.Shapes.AddVideoFrame(single, single, single, single, String).
- Récupère la référence de l’image vidéo dans un objet IVideoFrame.
- Réglez le mode de lecture et le volume de la vidéo.
- Définissez la vignette de la vidéo à l’aide d’un WebClient.
- Enregistrez la présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).
L’exemple de code suivant montre comment intégrer une vidéo dans la présentation à partir d’une source Web.
using (Presentation pres = new Presentation())
{
// ID vidéo
string videoId = "Tj75Arhq5ho";
// Ajouter une image vidéo
IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
videoFrame.PlayMode = VideoPlayModePreset.Auto;
// Charger la vignette
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));
}
// Enregistrer la présentation
pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}
Extraire une vidéo d’une présentation PowerPoint en C#
Aspose.Slides for .NET vous permet également d’extraire une vidéo d’une présentation. Vous trouverez ci-dessous les étapes simples pour y parvenir.
- Tout d’abord, chargez le fichier PowerPoint à l’aide de la classe Presentation.
- Ensuite, parcourez chaque ISlide dans la collection Presentation.Slides.
- Pour chaque objet ISlide, parcourez la collection de IShape qu’il contient.
- Si IShape est un VideoFrame, extrayez et enregistrez la vidéo intégrée.
L’exemple de code suivant montre comment extraire des vidéos d’une présentation PowerPoint à l’aide de C#.
// Charger un fichier de présentation
Presentation presentation = new Presentation("Video.pptx");
// Parcourir les diapositives de la présentation
foreach (ISlide slide in presentation.Slides)
{
// Boucle à travers les formes
foreach (IShape shape in presentation.Slides[0].Shapes)
{
if (shape is VideoFrame)
{
// Extraire et enregistrer la vidéo
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);
}
}
}
}
Obtenez une licence API gratuite
Vous pouvez utiliser Aspose.Slides for .NET sans limitation d’évaluation en demandant une licence temporaire.
Conclusion
Dans cet article, vous avez appris à intégrer des vidéos dans des présentations PowerPoint à l’aide de C#. De plus, vous avez vu comment extraire des vidéos d’une présentation par programmation. En plus de cela, vous pouvez visiter la documentation pour en savoir plus sur Aspose.Slides for .NET. Vous pouvez également poster vos questions sur notre forum.
Voir également
- Créer des présentations MS PowerPoint en C#
- Convertir PowerPoint PPTX/PPT en images PNG en C#
- Définir l’arrière-plan de la diapositive dans les présentations PowerPoint à l’aide de C#
- Générer des vignettes pour PowerPoint PPTX ou PPT à l’aide de C#
- Appliquer l’animation au texte dans PowerPoint à l’aide de C#
- Fractionner des présentations PowerPoint à l’aide de C#