Osadź wideo w prezentacjach programu PowerPoint przy użyciu języka C++

Program Microsoft PowerPoint zapewnia możliwość dodawania klatek wideo do prezentacji programu PowerPoint. Filmy wideo można wykorzystać do poprawy jakości prezentacji i lepszego przekazania wiadomości publiczności. Mogą wystąpić sytuacje, w których chcesz programowo dodawać filmy do prezentacji programu PowerPoint. W tym celu w tym artykule dowiesz się, jak osadzać wideo w prezentacjach programu PowerPoint przy użyciu języka C++.

C++ API do osadzania wideo w prezentacjach programu PowerPoint

Użyjemy API Aspose.Slides for C++ do osadzania filmów w prezentacjach PowerPoint. Jest to potężny i bogaty w funkcje interfejs API, który obsługuje tworzenie, odczytywanie i modyfikowanie plików PowerPoint bez konieczności instalowania programu Mircosoft PowerPoint. Możesz zainstalować API poprzez NuGet lub pobrać bezpośrednio z sekcji Downloads.

PM> Install-Package Aspose.Slides.Cpp

Osadź wideo w prezentacjach programu PowerPoint przy użyciu języka C++

Poniżej przedstawiono kroki, aby osadzić wideo w prezentacji programu PowerPoint.

Poniższy przykładowy kod pokazuje, jak osadzić klip wideo w prezentacji programu PowerPoint przy użyciu języka C++.

// Ścieżki plików
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";

// Utwórz instancję klasy Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// Uzyskaj dostęp do pierwszego slajdu
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Załaduj plik wideo do strumieniowego przesyłania
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);

// Dodaj wideo do prezentacji
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);

// Dodaj klatkę wideo
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);

// Osadź wideo w ramce wideo
videoFrame->set_EmbeddedVideo(vid);

// Ustaw tryb odtwarzania i głośność wideo
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);

// Zapisz prezentację
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Osadzanie wideo ze źródła internetowego w prezentacjach programu PowerPoint

Poniżej przedstawiono kroki, aby osadzić wideo ze źródła internetowego w prezentacji programu PowerPoint.

Poniższy przykładowy kod pokazuje, jak osadzić wideo ze źródła internetowego w prezentacji programu PowerPoint przy użyciu języka C++.

// Ścieżka pliku
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";

// Utwórz instancję klasy Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// Uzyskaj dostęp do pierwszego slajdu
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Dodaj klatkę wideo ze źródła internetowego
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");

// Ustaw tryb odtwarzania i głośność wideo
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);

// Zapisz prezentację
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Wyodrębnij wideo z prezentacji PowerPoint przy użyciu C++

Poniżej przedstawiono kroki, aby wyodrębnić wideo z prezentacji PowerPoint przy użyciu C++.

  • Najpierw załaduj plik PowerPoint, używając klasy Presentation.
  • Przejrzyj w pętli slajdy prezentacji.
  • Przejrzyj kształty na każdym slajdzie.
  • Dla każdego kształtu sprawdź, czy jest to VideoFrame. Jeśli jest to klatka wideo, wyodrębnij osadzone wideo i zapisz je.

Poniższy przykładowy kod pokazuje, jak wyodrębnić wideo z prezentacji programu PowerPoint przy użyciu języka C++.

// Ścieżki plików
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";

// Załaduj plik prezentacji
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
	// Przejrzyj slajdy w pętli
	auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
	decltype(slide_enumerator->get_Current()) slide;
	while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
	{
		// Zapętlaj kształty
		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))
		{
			// Sprawdź, czy kształt jest klatką wideo
			if (System::ObjectExt::Is<VideoFrame>(shape))
			{
				// Wyodrębnij plik wideo
				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);

					// Czyszczenie zasobów w instrukcji „używanie”.
					//System::Szczegóły::DisposeGuard __dispose_guard_0{strumień, ASPOSE_CURRENT_FUNCTION};
					// ---------------------------------------------------------
					stream->Write(buffer, 0, buffer->get_Length());
				}
			}
		}
	}
}

Uzyskaj bezpłatną licencję

Aby wypróbować interfejs API bez ograniczeń ewaluacyjnych, możesz poprosić o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak osadzać wideo w prezentacjach PowerPoint przy użyciu C++. Co więcej, widziałeś, jak wyodrębnić osadzone wideo z prezentacji PowerPoint za pomocą Aspose.Slides for C++ API. Jest to solidny interfejs API, który zapewnia wiele dodatkowych funkcji do pracy z plikami PowerPoint. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań skontaktuj się z nami na naszym bezpłatnym forum pomocy technicznej.

Zobacz też

Wskazówka: możesz wypróbować DARMOWY konwerter Aspose PowerPoint to Video, ponieważ umożliwia on przekształcanie prezentacji w oszałamiające filmy z efektami przejścia.