C++ kullanarak PowerPoint Sunumlarına Video Gömme

Microsoft PowerPoint, PowerPoint sunumlarınıza video kareleri eklemenizi sağlar. Sunumların kalitesini artırmak ve mesajın izleyicilere daha iyi iletilmesine yardımcı olmak için videolar kullanılabilir. PowerPoint sunumlarına programlı olarak video eklemek istediğiniz durumlar olabilir. Bu amaçla, bu makale size C++ kullanarak PowerPoint sunumlarına nasıl video ekleyeceğinizi öğretecektir.

PowerPoint Sunumlarına Video Gömmek için C++ API

Videoları PowerPoint sunumlarına gömmek için Aspose.Slides for C++ API’sini kullanacağız. Mircosoft PowerPoint’in yüklenmesine gerek kalmadan PowerPoint dosyalarının oluşturulmasını, okunmasını ve değiştirilmesini destekleyen güçlü ve zengin özelliklere sahip bir API’dir. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.

PM> Install-Package Aspose.Slides.Cpp

C++ kullanarak PowerPoint Sunumlarına Video Gömme

Aşağıda, bir videoyu bir PowerPoint sunumuna katıştırmak için gereken adımlar verilmiştir.

Aşağıdaki örnek kod, bir videoyu C++ kullanarak bir PowerPoint sunumuna nasıl katıştıracağınızı gösterir.

// dosya yolları
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";

// Presentation sınıfının bir örneğini oluşturun
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// İlk slayda erişin
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Akış için video dosyasını yükleyin
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);

// Videoyu sunuma ekleyin
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);

// Video çerçevesi ekle
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);

// Video çerçevesinin içine video gömün
videoFrame->set_EmbeddedVideo(vid);

// Videonun oynatma modunu ve sesini ayarlayın
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);

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

Bir Web Kaynağından PowerPoint Sunumlarına Video Gömme

Aşağıdakiler, bir web kaynağından bir videoyu bir PowerPoint sunumuna katıştırmak için gereken adımlardır.

Aşağıdaki örnek kod, bir web kaynağından bir videoyu C++ kullanarak bir PowerPoint sunumuna nasıl katıştıracağınızı gösterir.

// Dosya yolu
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";

// Presentation sınıfının bir örneğini oluşturun
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// İlk slayda erişin
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Web kaynağından video karesi ekleyin
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");

// Videonun oynatma modunu ve sesini ayarlayın
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);

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

C++ kullanarak PowerPoint Sunumlarından Video Çıkarın

Aşağıdakiler, C++ kullanarak bir PowerPoint sunumundan video ayıklama adımlarıdır.

  • İlk olarak, Sunum sınıfını kullanarak PowerPoint dosyasını yükleyin.
  • Sunumun slaytları arasında geçiş yapın.
  • Her slayttaki şekiller arasında geçiş yapın.
  • Her şekil için şeklin bir VideoFrame olup olmadığını kontrol edin. Bir video karesi olması durumunda, gömülü videoyu çıkarın ve kaydedin.

Aşağıdaki örnek kod, C++ kullanılarak bir PowerPoint sunumundan videonun nasıl çıkarılacağını gösterir.

// dosya yolları
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";

// Sunum dosyasını yükleyin
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
	// Slaytlar arasında geçiş yapın
	auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
	decltype(slide_enumerator->get_Current()) slide;
	while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
	{
		// Şekiller arasında döngü
		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))
		{
			// Şeklin bir video karesi olup olmadığını kontrol edin
			if (System::ObjectExt::Is<VideoFrame>(shape))
			{
				// Video dosyasını ayıklayın
				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);

					// Kaynakları 'kullanma' ifadesi altında temizleme
					//System::Details::DisposeGuard __dispose_guard_0{ akış, ASPOSE_CURRENT_FUNCTION };
					// ------------------------------------------
					stream->Write(buffer, 0, buffer->get_Length());
				}
			}
		}
	}
}

Ücretsiz Lisans Alın

API’yi değerlendirme kısıtlamaları olmadan denemek için [ücretsiz bir geçici lisans] talep edebilirsiniz15.

Çözüm

Bu makalede, videoları C++ kullanarak PowerPoint sunumlarına nasıl yerleştireceğinizi öğrendiniz. Ayrıca, Aspose.Slides for C++ API kullanarak PowerPoint sunumlarından gömülü videoları nasıl çıkaracağınızı gördünüz. PowerPoint dosyalarıyla çalışmak için birçok ek özellik sağlayan güçlü bir API’dir. Resmi belgeleri ziyaret ederek API’yi ayrıntılı olarak inceleyebilirsiniz. Herhangi bir sorunuz olması durumunda lütfen ücretsiz destek forumumuzdan bize ulaşmaktan çekinmeyin.

Ayrıca bakınız

İpucu: Aspose FREE PowerPoint to Video dönüştürücüyü kontrol etmek isteyebilirsiniz, çünkü sunumlarınızı geçiş efektleriyle çarpıcı videolara dönüştürmenize olanak tanır.