تضمين الفيديو في عروض PowerPoint التقديمية باستخدام C ++

يوفر لك Microsoft PowerPoint القدرة على إضافة إطارات فيديو إلى عروض PowerPoint التقديمية. يمكن استخدام مقاطع الفيديو لتحسين جودة العروض التقديمية والمساعدة في توصيل الرسالة بشكل أفضل للجمهور. قد تكون هناك مواقف تريد فيها إضافة مقاطع فيديو إلى عروض PowerPoint التقديمية برمجيًا. تحقيقًا لهذه الغاية ، ستعلمك هذه المقالة كيفية تضمين الفيديو في عروض PowerPoint التقديمية باستخدام C ++.

واجهة برمجة تطبيقات C ++ لتضمين الفيديو في عروض PowerPoint التقديمية

سنستخدم واجهة برمجة التطبيقات Aspose.Slides for C ++ لتضمين مقاطع الفيديو في عروض PowerPoint التقديمية. إنها واجهة برمجة تطبيقات قوية وغنية بالميزات تدعم إنشاء ملفات PowerPoint وقراءتها وتعديلها دون الحاجة إلى تثبيت Mircosoft PowerPoint. يمكنك إما تثبيت API من خلال NuGet أو تنزيلها مباشرة من قسم التنزيلات.

PM> Install-Package Aspose.Slides.Cpp

تضمين الفيديو في عروض PowerPoint التقديمية باستخدام C ++

فيما يلي خطوات تضمين مقطع فيديو في عرض PowerPoint تقديمي.

يُظهر نموذج التعليمات البرمجية التالي كيفية تضمين مقطع فيديو في عرض تقديمي لـ PowerPoint باستخدام C ++.

// مسارات الملفات
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";

// قم بإنشاء مثيل لفئة العرض التقديمي
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// الوصول إلى الشريحة الأولى
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// قم بتحميل ملف الفيديو للدفق
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);

// أضف الفيديو إلى العرض التقديمي
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);

// أضف إطار الفيديو
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);

// تضمين الفيديو داخل إطار الفيديو
videoFrame->set_EmbeddedVideo(vid);

// اضبط وضع التشغيل وحجم الفيديو
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);

// احفظ العرض التقديمي
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

تضمين فيديو من مصدر ويب في عروض PowerPoint التقديمية

فيما يلي خطوات تضمين فيديو من مصدر ويب في عرض PowerPoint تقديمي.

يوضح نموذج التعليمات البرمجية التالي كيفية تضمين مقطع فيديو من مصدر ويب في عرض PowerPoint تقديمي باستخدام C ++.

// مسار الملف
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";

// قم بإنشاء مثيل لفئة العرض التقديمي
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// الوصول إلى الشريحة الأولى
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// أضف إطار الفيديو من مصدر الويب
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");

// اضبط وضع التشغيل وحجم الفيديو
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);

// احفظ العرض التقديمي
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

استخراج الفيديو من عروض PowerPoint التقديمية باستخدام C ++

فيما يلي خطوات استخراج مقطع فيديو من عرض PowerPoint تقديمي باستخدام C ++.

  • أولاً ، قم بتحميل ملف PowerPoint باستخدام فئة Presentation.
  • قم بالتكرار خلال شرائح العرض التقديمي.
  • قم بالتكرار خلال الأشكال الموجودة في كل شريحة.
  • لكل شكل ، تحقق مما إذا كان الشكل هو VideoFrame. في حالة كونه إطار فيديو ، قم باستخراج الفيديو المضمن وحفظه.

يُظهر نموذج التعليمات البرمجية التالي كيفية استخراج فيديو من عرض تقديمي لـ PowerPoint باستخدام C ++.

// مسارات الملفات
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";

// قم بتحميل ملف العرض التقديمي
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
	// حلقة خلال الشرائح
	auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
	decltype(slide_enumerator->get_Current()) slide;
	while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
	{
		// حلقة من خلال الأشكال
		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))
		{
			// تحقق مما إذا كان الشكل عبارة عن إطار فيديو
			if (System::ObjectExt::Is<VideoFrame>(shape))
			{
				// استخراج ملف الفيديو
				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);

					// مسح الموارد تحت بيان "استخدام"
					//النظام :: التفاصيل :: DisposeGuard __dispose_guard_0 {تيار ، ASPOSE_CURRENT_FUNCTION} ؛
					// ------------------------------------------
					stream->Write(buffer, 0, buffer->get_Length());
				}
			}
		}
	}
}

احصل على رخصة مجانية

لتجربة API بدون قيود تقييمية ، يمكنك طلب ترخيص مجاني مؤقت.

استنتاج

في هذه المقالة ، تعلمت كيفية تضمين مقاطع الفيديو في عروض PowerPoint التقديمية باستخدام C ++. علاوة على ذلك ، لقد رأيت كيفية استخراج مقاطع الفيديو المضمنة من عروض PowerPoint التقديمية باستخدام Aspose.Slides for C ++ API. إنها واجهة برمجة تطبيقات قوية توفر العديد من الميزات الإضافية للعمل مع ملفات PowerPoint. يمكنك استكشاف API بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا

تلميح: قد ترغب في التحقق من محول Aspose FREE PowerPoint to Video لأنه يسمح لك بتحويل عروضك التقديمية إلى مقاطع فيديو مذهلة مع تأثيرات انتقالية.