Sematkan Video dalam Presentasi PowerPoint menggunakan C++

Microsoft PowerPoint memberi Anda kemampuan untuk menambahkan bingkai video ke presentasi PowerPoint Anda. Video dapat digunakan untuk meningkatkan kualitas presentasi dan membantu mengkomunikasikan pesan dengan lebih baik kepada audiens. Mungkin ada situasi di mana Anda ingin menambahkan video ke presentasi PowerPoint secara terprogram. Untuk itu, artikel ini akan mengajarkan Anda cara menyematkan video dalam presentasi PowerPoint menggunakan C++.

C++ API untuk Menyematkan Video dalam Presentasi PowerPoint

Kami akan menggunakan API Aspose.Slides for C++ untuk menyematkan video dalam presentasi PowerPoint. Ini adalah API yang kuat dan kaya fitur yang mendukung pembuatan, membaca, dan memodifikasi file PowerPoint tanpa perlu menginstal Mircosoft PowerPoint. Anda dapat menginstal API melalui NuGet atau mengunduhnya langsung dari bagian Unduhan.

PM> Install-Package Aspose.Slides.Cpp

Sematkan Video dalam Presentasi PowerPoint menggunakan C++

Berikut ini adalah langkah-langkah untuk menyematkan video dalam presentasi PowerPoint.

Kode contoh berikut menunjukkan cara menyematkan video dalam presentasi PowerPoint menggunakan C++.

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

// Buat instance dari kelas Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// Akses slide pertama
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

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

// Tambahkan video ke presentasi
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);

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

// Sematkan video di dalam bingkai video
videoFrame->set_EmbeddedVideo(vid);

// Atur mode putar dan volume video
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);

// Simpan presentasi
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Menyematkan Video dari Sumber Web di Presentasi PowerPoint

Berikut adalah langkah-langkah untuk menyematkan video dari sumber web dalam presentasi PowerPoint.

Kode contoh berikut memperlihatkan cara menyematkan video dari sumber web dalam presentasi PowerPoint menggunakan C++.

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

// Buat instance dari kelas Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// Akses slide pertama
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Tambahkan bingkai video dari sumber web
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");

// Atur mode putar dan volume video
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);

// Simpan presentasi
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Ekstrak Video dari Presentasi PowerPoint menggunakan C++

Berikut ini adalah langkah-langkah untuk mengekstrak video dari presentasi PowerPoint menggunakan C++.

  • Pertama, muat file PowerPoint menggunakan kelas Presentation.
  • Ulangi slide presentasi.
  • Ulangi bentuk di setiap slide.
  • Untuk setiap bentuk, periksa apakah bentuknya adalah VideoFrame. Jika itu adalah bingkai video, ekstrak video yang disematkan dan simpan.

Kode contoh berikut menunjukkan cara mengekstrak video dari presentasi PowerPoint menggunakan C++.

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

// Muat file presentasi
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
	// Ulangi slide
	auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
	decltype(slide_enumerator->get_Current()) slide;
	while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
	{
		// Loop melalui bentuk
		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))
		{
			// Periksa apakah bentuknya adalah bingkai video
			if (System::ObjectExt::Is<VideoFrame>(shape))
			{
				// Ekstrak file videonya
				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);

					// Menghapus sumber daya di bawah pernyataan 'menggunakan'
					//System::Details::DisposeGuard __dispose_guard_0{ aliran, ASPOSE_CURRENT_FUNCTION };
					// ---------------------------------------------
					stream->Write(buffer, 0, buffer->get_Length());
				}
			}
		}
	}
}

Dapatkan Lisensi Gratis

Untuk mencoba API tanpa batasan evaluasi, Anda dapat meminta lisensi sementara gratis.

Kesimpulan

Dalam artikel ini, Anda telah mempelajari cara menyematkan video dalam presentasi PowerPoint menggunakan C++. Selain itu, Anda telah melihat cara mengekstrak video tersemat dari presentasi PowerPoint menggunakan Aspose.Slides for C++ API. Ini adalah API tangguh yang menyediakan banyak fitur tambahan untuk bekerja dengan file PowerPoint. Anda dapat menjelajahi API secara mendetail dengan mengunjungi dokumentasi resmi. Jika ada pertanyaan, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga

Tip: Anda mungkin ingin mencoba Aspose FREE PowerPoint to Video converter karena memungkinkan Anda untuk mengubah presentasi Anda menjadi video yang menakjubkan dengan efek transisi.