Microsoft PowerPoint bietet Ihnen die Möglichkeit, Videoframes zu Ihren PowerPoint Präsentationen hinzuzufügen. Videos können verwendet werden, um die Qualität der Präsentationen zu verbessern und die Botschaft besser an das Publikum zu übermitteln. Es kann Situationen geben, in denen Sie PowerPoint Präsentationen programmgesteuert Videos hinzufügen möchten. Zu diesem Zweck lernen Sie in diesem Artikel, wie Sie Videos mit C++ in PowerPoint Präsentationen einbetten.
- C++-API zum Einbetten von Videos in PowerPoint Präsentationen
- Einbetten von Videos in PowerPoint Präsentationen mit C++
- Einbetten von Videos aus einer Webquelle in PowerPoint Präsentationen
- Extrahieren Sie Videos aus PowerPoint Präsentationen mit C++
C++-API zum Einbetten von Videos in PowerPoint Präsentationen
Wir werden die API Aspose.Slides for C++ verwenden, um Videos in PowerPoint Präsentationen einzubetten. Es ist eine leistungsstarke und funktionsreiche API, die das Erstellen, Lesen und Ändern von PowerPoint Dateien unterstützt, ohne dass Mircosoft PowerPoint installiert sein muss. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.
PM> Install-Package Aspose.Slides.Cpp
Einbetten von Videos in PowerPoint Präsentationen mit C++
Im Folgenden finden Sie die Schritte zum Einbetten eines Videos in eine PowerPoint Präsentation.
- Erstellen Sie zunächst eine Instanz der Klasse Presentation, um eine neue PowerPoint Datei darzustellen.
- Rufen Sie die Folie auf, auf der Sie das Video einbetten möchten.
- Fügen Sie das Video über Presentation->getVideos()->AddVideo (System::SharedPtrSystem::IO::Stream stream) methode.
- Fügen Sie den Videoframe mit der methode ISlide->getShapes()->AddVideoFrame(float x, float y, float width, float height, System::SharedPtr< IVideo > video) hinzu.
- Betten Sie das Video mithilfe von IVideoFrame->setEmbeddedVideo(System::SharedPtr Wert) Methode.
- Stellen Sie den Wiedergabemodus und die Lautstärke des Videos ein.
- Speichern Sie zuletzt die Präsentation mit der methode Presentation->Save(System::String fname, Export::SaveFormat format).
Der folgende Beispielcode zeigt, wie Sie mit C++ ein Video in eine PowerPoint Präsentation einbetten.
// Dateipfade
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
// Erstellen Sie eine Instanz der Presentation klasse
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Greifen Sie auf die erste Folie zu
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Laden Sie die Videodatei zum Streamen
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);
// Fügen Sie das Video zur Präsentation hinzu
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);
// Videoframe hinzufügen
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);
// Video in den Videorahmen einbetten
videoFrame->set_EmbeddedVideo(vid);
// Stellen Sie den Wiedergabemodus und die Lautstärke des Videos ein
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);
// Speichern Sie die Präsentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Einbetten von Videos aus einer Webquelle in PowerPoint Präsentationen
Im Folgenden finden Sie die Schritte zum Einbetten eines Videos aus einer Webquelle in eine PowerPoint Präsentation.
- Erstellen Sie zunächst eine Instanz der Klasse Presentation, um eine neue PowerPoint Datei darzustellen.
- Rufen Sie die Folie auf, auf der Sie das Video einbetten möchten.
- Fügen Sie einen Videoframe mit der methode ISlide->getShapes()->AddVideoFrame(float x, float y, float width, float height, System::String fname) hinzu.
- Stellen Sie den Wiedergabemodus des Videos ein.
- Speichern Sie abschließend die Präsentation mit der methode Presentation->Save(System::String fname, Export::SaveFormat format).
Der folgende Beispielcode zeigt, wie Sie ein Video aus einer Webquelle mit C++ in eine PowerPoint Präsentation einbetten.
// Dateipfad
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";
// Erstellen Sie eine Instanz der Presentation klasse
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Greifen Sie auf die erste Folie zu
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Fügen Sie den Videoframe aus der Webquelle hinzu
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");
// Stellen Sie den Wiedergabemodus und die Lautstärke des Videos ein
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
// Speichern Sie die Präsentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Extrahieren Sie Videos aus PowerPoint Präsentationen mit C++
Im Folgenden finden Sie die Schritte zum Extrahieren eines Videos aus einer PowerPoint Präsentation mit C++.
- Laden Sie zunächst die PowerPoint Datei mit der Klasse Presentation.
- Durchlaufen Sie die Folien der Präsentation.
- Durchlaufen Sie die Formen auf jeder Folie.
- Prüfen Sie für jede Form, ob die Form ein VideoFrame ist. Falls es sich um einen Videoframe handelt, extrahieren Sie das eingebettete Video und speichern Sie es.
Der folgende Beispielcode zeigt, wie Sie mit C++ ein Video aus einer PowerPoint Präsentation extrahieren.
// Dateipfade
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";
// Laden Sie die Präsentationsdatei
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
// Durchlaufen Sie die Folien
auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
decltype(slide_enumerator->get_Current()) slide;
while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
{
// Schleife durch die Formen
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))
{
// Überprüfen Sie, ob es sich bei der Form um einen Videoframe handelt
if (System::ObjectExt::Is<VideoFrame>(shape))
{
// Extrahieren Sie die Videodatei
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);
// Löschen von Ressourcen unter der 'using'-Anweisung
//System::Details::DisposeGuard __dispose_guard_0{ stream, ASPOSE_CURRENT_FUNCTION };
// ------------------------------------------
stream->Write(buffer, 0, buffer->get_Length());
}
}
}
}
}
Holen Sie sich eine kostenlose Lizenz
Um die API ohne Evaluierungseinschränkungen zu testen, können Sie eine kostenlose temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie Videos mit C++ in PowerPoint Präsentationen einbetten. Außerdem haben Sie gesehen, wie Sie eingebettete Videos aus PowerPoint Präsentationen mit Aspose.Slides for C++ API extrahieren. Es ist eine robuste API, die viele zusätzliche Funktionen für die Arbeit mit PowerPoint Dateien bietet. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.
Siehe auch
- Fügen Sie Folienübergänge in PowerPoint Präsentationen mit C++ hinzu
- Legen Sie den Folienhintergrund in PowerPoint Präsentationen mit C++ fest
Tipp: Vielleicht möchten Sie den kostenlosen Aspose [PowerPoint to Video] Konverter 1 ausprobieren, da Sie damit Ihre Präsentationen in beeindruckende Videos mit Übergangseffekten umwandeln können.