Incorpora video in presentazioni PowerPoint usando C++

Microsoft PowerPoint ti offre la possibilità di aggiungere fotogrammi video alle tue presentazioni PowerPoint. I video possono essere utilizzati per migliorare la qualità delle presentazioni e aiutare a comunicare meglio il messaggio al pubblico. Potrebbero verificarsi situazioni in cui desideri aggiungere video alle presentazioni PowerPoint a livello di codice. A tal fine, questo articolo ti insegnerà come incorporare video nelle presentazioni di PowerPoint utilizzando C++.

API C++ per incorporare video nelle presentazioni PowerPoint

Utilizzeremo l’API Aspose.Slides for C++ per incorporare video nelle presentazioni PowerPoint. È un’API potente e ricca di funzionalità che supporta la creazione, la lettura e la modifica di file PowerPoint senza la necessità di installare Mircosoft PowerPoint. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.

PM> Install-Package Aspose.Slides.Cpp

Incorpora video in presentazioni PowerPoint usando C++

Di seguito sono riportati i passaggi per incorporare un video in una presentazione PowerPoint.

Il codice di esempio seguente mostra come incorporare un video in una presentazione di PowerPoint usando C++.

// Percorsi di file
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";

// Crea un'istanza della classe Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// Accedi alla prima diapositiva
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Carica il file video per lo streaming
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);

// Aggiungi il video alla presentazione
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);

// Aggiungi fotogramma video
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);

// Incorpora il video all'interno del frame del video
videoFrame->set_EmbeddedVideo(vid);

// Imposta la modalità di riproduzione e il volume del video
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);

// Salva la presentazione
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Incorporamento di video da un’origine Web nelle presentazioni PowerPoint

Di seguito sono riportati i passaggi per incorporare un video da un’origine Web in una presentazione PowerPoint.

Il codice di esempio seguente mostra come incorporare un video da un’origine Web in una presentazione di PowerPoint usando C++.

// Percorso del file
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";

// Crea un'istanza della classe Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// Accedi alla prima diapositiva
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Aggiungi il fotogramma video dalla sorgente web
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");

// Imposta la modalità di riproduzione e il volume del video
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);

// Salva la presentazione
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Estrai video da presentazioni PowerPoint usando C++

Di seguito sono riportati i passaggi per estrarre un video da una presentazione PowerPoint utilizzando C++.

  • Innanzitutto, carica il file PowerPoint utilizzando la classe Presentazione.
  • Scorri le diapositive della presentazione.
  • Scorri le forme in ogni diapositiva.
  • Per ogni forma, controlla se la forma è un VideoFrame. Nel caso si tratti di un fotogramma video, estrai il video incorporato e salvalo.

Il codice di esempio seguente mostra come estrarre un video da una presentazione di PowerPoint usando C++.

// Percorsi di file
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";

// Carica il file di presentazione
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
	// Scorri le diapositive
	auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
	decltype(slide_enumerator->get_Current()) slide;
	while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
	{
		// Passa attraverso le forme
		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))
		{
			// Controlla se la forma è un fotogramma video
			if (System::ObjectExt::Is<VideoFrame>(shape))
			{
				// Estrai il file video
				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);

					// Cancellazione delle risorse nella dichiarazione "utilizzo".
					//System::Dettagli::DisposeGuard __dispose_guard_0{ stream, ASPOSE_CURRENT_FUNCTION };
					// -------------------------------------------
					stream->Write(buffer, 0, buffer->get_Length());
				}
			}
		}
	}
}

Ottieni una licenza gratuita

Per provare l’API senza limitazioni di valutazione, puoi richiedere una licenza temporanea gratuita.

Conclusione

In questo articolo hai imparato come incorporare video in presentazioni PowerPoint usando C++. Inoltre, hai visto come estrarre video incorporati da presentazioni PowerPoint utilizzando Aspose.Slides per l’API C++. È un’API robusta che fornisce molte funzionalità aggiuntive per lavorare con i file PowerPoint. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci nel nostro forum di supporto gratuito.

Guarda anche

Suggerimento: potresti dare un’occhiata al convertitore GRATUITO di Aspose PowerPoint to Video perché ti consente di trasformare le tue presentazioni in video straordinari con effetti di transizione.