Microsoft PowerPoint vám poskytuje možnost přidávat snímky videa do vašich prezentací PowerPoint. Videa lze použít ke zvýšení kvality prezentací a pomohou lépe sdělit poselství publiku. Mohou nastat situace, kdy budete chtít přidat videa do prezentací PowerPoint programově. Za tímto účelem vás tento článek naučí, jak vložit video do prezentací PowerPoint pomocí C++.
- C++ API pro vkládání videa do PowerPointových prezentací
- Vkládání videa do prezentací PowerPoint pomocí C++
- Vkládání videa z webového zdroje do PowerPointových prezentací
- Extrahujte video z prezentací PowerPoint pomocí C++
C++ API pro vkládání videa do PowerPointových prezentací
Pro vkládání videí do prezentací PowerPoint použijeme API Aspose.Slides for C++. Je to výkonné a na funkce bohaté API, které podporuje vytváření, čtení a úpravy souborů PowerPoint bez nutnosti instalace aplikace Mircosoft PowerPoint. API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.
PM> Install-Package Aspose.Slides.Cpp
Vkládání videa do prezentací PowerPoint pomocí C++
Níže jsou uvedeny kroky pro vložení videa do prezentace PowerPoint.
- Nejprve vytvořte instanci třídy Presentation, která bude reprezentovat nový soubor PowerPoint.
- Načtěte snímek, kam chcete vložit video.
- Přidejte video do prezentace pomocí Presentation->getVideos()->AddVideo (System::SharedPtrSystem::IO::Stream stream) metoda.
- Přidejte snímek videa pomocí metody ISlide->getShapes()->AddVideoFrame(plovoucí x, plovoucí y, plovoucí šířka, plovoucí výška, System::SharedPtr< IVideo > video).
- Vložte video do rámečku videa pomocí IVideoFrame->setEmbeddedVideo(System::SharedPtr hodnota) metoda.
- Nastavte režim přehrávání a hlasitost videa.
- Nakonec prezentaci uložte pomocí metody Presentation->Save(System::String fname, Export::SaveFormat format).
Následující ukázkový kód ukazuje, jak vložit video do prezentace PowerPoint pomocí C++.
// Cesty k souborům
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
// Vytvořte instanci třídy Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Otevřete první snímek
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Načtěte soubor videa, který chcete streamovat
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);
// Přidejte video do prezentace
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);
// Přidat rámeček videa
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);
// Vložte video do rámečku videa
videoFrame->set_EmbeddedVideo(vid);
// Nastavte režim přehrávání a hlasitost videa
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);
// Uložte prezentaci
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Vkládání videa z webového zdroje do PowerPointových prezentací
Následují kroky pro vložení videa z webového zdroje do prezentace PowerPoint.
- Nejprve vytvořte instanci třídy Presentation, která bude reprezentovat nový soubor PowerPoint.
- Načtěte snímek, kam chcete vložit video.
- Přidejte snímek videa pomocí metody ISlide->getShapes()->AddVideoFrame(plovoucí x, plovoucí y, plovoucí šířka, plovoucí výška, System::String fname).
- Nastavte režim přehrávání videa.
- Nakonec prezentaci uložte pomocí metody Presentation->Save(System::String fname, Export::SaveFormat format).
Následující ukázkový kód ukazuje, jak vložit video z webového zdroje do prezentace PowerPoint pomocí C++.
// Cesta k souboru
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";
// Vytvořte instanci třídy Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Otevřete první snímek
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Přidejte snímek videa z webového zdroje
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");
// Nastavte režim přehrávání a hlasitost videa
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
// Uložte prezentaci
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Extrahujte video z prezentací PowerPoint pomocí C++
Níže jsou uvedeny kroky k extrahování videa z prezentace PowerPoint pomocí C++.
- Nejprve načtěte soubor PowerPoint pomocí třídy Presentation.
- Procházejte snímky prezentace.
- Procházejte tvary v každém snímku.
- U každého tvaru zkontrolujte, zda je tvar VideoFrame. V případě, že se jedná o snímek videa, extrahujte vložené video a uložte jej.
Následující ukázkový kód ukazuje, jak extrahovat video z prezentace PowerPoint pomocí C++.
// Cesty k souborům
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";
// Načtěte soubor prezentace
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
// Procházejte snímky
auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
decltype(slide_enumerator->get_Current()) slide;
while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
{
// Procházejte tvary
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))
{
// Zkontrolujte, zda je tvarem snímek videa
if (System::ObjectExt::Is<VideoFrame>(shape))
{
// Extrahujte soubor videa
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);
// Vymazání zdrojů pod příkazem 'používá se'
//Systém::Podrobnosti::DisposeGuard __dispose_guard_0{ stream, ASPOSE_CURRENT_FUNCTION };
// -------------------------------------------
stream->Write(buffer, 0, buffer->get_Length());
}
}
}
}
}
Získejte bezplatnou licenci
Abyste mohli API vyzkoušet bez omezení hodnocení, můžete požádat o bezplatnou dočasnou licenci.
Závěr
V tomto článku jste se naučili vkládat videa do prezentací PowerPoint pomocí C++. Navíc jste viděli, jak extrahovat vložená videa z prezentací PowerPoint pomocí Aspose.Slides for C++ API. Jedná se o robustní API, které poskytuje mnoho dalších funkcí pro práci se soubory PowerPoint. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.
Viz také
- Přidejte přechody snímků do prezentací PowerPoint pomocí C++
- Nastavení pozadí snímku v prezentacích PowerPoint pomocí C++
Tip: Možná budete chtít vyzkoušet konvertor Aspose FREE PowerPoint to Video, protože vám umožňuje přeměnit vaše prezentace na úžasná videa s přechodovými efekty.