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 in presentazioni PowerPoint
- Incorpora video in presentazioni PowerPoint usando C++
- Incorporamento di video da un’origine Web nelle presentazioni PowerPoint
- Estrai video da presentazioni PowerPoint usando 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.
- Innanzitutto, crea un’istanza della classe Presentation per rappresentare un nuovo file PowerPoint.
- Recupera la diapositiva in cui desideri incorporare il video.
- Aggiungi il video alla presentazione usando Presentation->getVideos()->AddVideo (System::SharedPtrSystem::IO::Stream flusso).
- Aggiungi il fotogramma video usando il metodo ISlide->getShapes()->AddVideoFrame(float x, float y, float width, float height, System::SharedPtr< IVideo > video).
- Incorpora il video all’interno del frame video utilizzando IVideoFrame->setEmbeddedVideo(System::SharedPtr valore).
- Imposta la modalità di riproduzione e il volume del video.
- Infine, salva la presentazione usando il metodo Presentation->Save(System::String fname, Export::SaveFormat format).
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.
- Innanzitutto, crea un’istanza della classe Presentation per rappresentare un nuovo file PowerPoint.
- Recupera la diapositiva in cui desideri incorporare il video.
- Aggiungi un fotogramma video usando il metodo ISlide->getShapes()->AddVideoFrame(float x, float y, float width, float height, System::String fname).
- Imposta la modalità di riproduzione del video.
- Infine, salva la presentazione usando il metodo Presentation->Save(System::String fname, Export::SaveFormat format).
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
- Aggiungi transizioni diapositive nelle presentazioni PowerPoint usando C++
- Imposta lo sfondo della diapositiva nelle presentazioni di PowerPoint usando C++
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.