Incorporer une vidéo dans des présentations PowerPoint à l'aide de C++

Microsoft PowerPoint vous offre la possibilité d’ajouter des images vidéo à vos présentations PowerPoint. Les vidéos peuvent être utilisées pour améliorer la qualité des présentations et aider à mieux communiquer le message au public. Il peut arriver que vous souhaitiez ajouter des vidéos à des présentations PowerPoint par programmation. À cette fin, cet article vous apprendra comment intégrer une vidéo dans des présentations PowerPoint à l’aide de C++.

API C++ pour l’intégration de vidéo dans les présentations PowerPoint

Nous utiliserons l’API Aspose.Slides for C++ pour intégrer des vidéos dans des présentations PowerPoint. Il s’agit d’une API puissante et riche en fonctionnalités qui prend en charge la création, la lecture et la modification de fichiers PowerPoint sans avoir besoin d’installer Mircosoft PowerPoint. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.Slides.Cpp

Incorporer une vidéo dans des présentations PowerPoint à l’aide de C++

Voici les étapes pour intégrer une vidéo dans une présentation PowerPoint.

L’exemple de code suivant montre comment incorporer une vidéo dans une présentation PowerPoint à l’aide de C++.

// Chemins de fichiers
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";

// Créer une instance de la classe Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// Accéder à la première diapositive
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Charger le fichier vidéo à diffuser
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);

// Ajouter la vidéo à la présentation
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);

// Ajouter une image vidéo
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);

// Intégrer la vidéo dans le cadre vidéo
videoFrame->set_EmbeddedVideo(vid);

// Définir le mode de lecture et le volume de la vidéo
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);

// Enregistrer la présentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Incorporer une vidéo à partir d’une source Web dans des présentations PowerPoint

Voici les étapes pour intégrer une vidéo à partir d’une source Web dans une présentation PowerPoint.

L’exemple de code suivant montre comment incorporer une vidéo à partir d’une source Web dans une présentation PowerPoint à l’aide de C++.

// Chemin du fichier
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";

// Créer une instance de la classe Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// Accéder à la première diapositive
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Ajouter l'image vidéo à partir de la source Web
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");

// Définir le mode de lecture et le volume de la vidéo
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);

// Enregistrer la présentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Extraire la vidéo des présentations PowerPoint en utilisant C++

Voici les étapes pour extraire une vidéo d’une présentation PowerPoint à l’aide de C++.

  • Tout d’abord, chargez le fichier PowerPoint à l’aide de la classe Presentation.
  • Parcourez les diapositives de la présentation.
  • Parcourez les formes de chaque diapositive.
  • Pour chaque forme, vérifiez si la forme est un VideoFrame. S’il s’agit d’une image vidéo, extrayez la vidéo intégrée et enregistrez-la.

L’exemple de code suivant montre comment extraire une vidéo d’une présentation PowerPoint à l’aide de C++.

// Chemins de fichiers
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";

// Charger le fichier de présentation
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
	// Parcourez les diapositives
	auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
	decltype(slide_enumerator->get_Current()) slide;
	while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
	{
		// Boucle à travers les formes
		auto shape_enumerator = (presentation->get_Slides()->idx_get(0)->get_Shapes())->GetEnumerator();
		decltype(shape_enumerator->get_Current()) shape;
		while (shape_enumerator->MoveNext() && (shape = shape_enumerator->get_Current(), true))
		{
			// Vérifiez si la forme est une image vidéo
			if (System::ObjectExt::Is<VideoFrame>(shape))
			{
				// Extraire le fichier vidéo
				System::SharedPtr<VideoFrame> vf = System::DynamicCast_noexcept<Aspose::Slides::VideoFrame>(shape);
				System::String type = vf->get_EmbeddedVideo()->get_ContentType();
				int32_t ss = type.LastIndexOf(L'/');
				type = type.Remove(0, type.LastIndexOf(L'/') + 1);
				System::ArrayPtr<uint8_t> buffer = vf->get_EmbeddedVideo()->get_BinaryData();
				{
					System::SharedPtr<System::IO::FileStream> stream = System::MakeObject<System::IO::FileStream>(outputFilePath + type, System::IO::FileMode::Create, System::IO::FileAccess::Write, System::IO::FileShare::Read);

					// Effacement des ressources sous l'instruction 'using'
					//System::Details::DisposeGuard __dispose_guard_0{ flux, ASPOSE_CURRENT_FUNCTION } ;
					// ------------------------------------------
					stream->Write(buffer, 0, buffer->get_Length());
				}
			}
		}
	}
}

Obtenez une licence gratuite

Afin d’essayer l’API sans limitation d’évaluation, vous pouvez demander une licence temporaire gratuite.

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 intégrées à partir de présentations PowerPoint à l’aide de l’API Aspose.Slides for C++. Il s’agit d’une API robuste qui fournit de nombreuses fonctionnalités supplémentaires pour travailler avec des fichiers PowerPoint. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également

Astuce : Vous voudrez peut-être consulter le convertisseur Aspose FREE PowerPoint to Video car il vous permet de transformer vos présentations en vidéos époustouflantes avec des effets de transition.