הטמעת וידאו במצגות PowerPoint באמצעות C++

Microsoft PowerPoint מספק לך את היכולת להוסיף מסגרות וידאו למצגות PowerPoint שלך. ניתן להשתמש בסרטונים כדי לשפר את איכות המצגות ולעזור להעביר טוב יותר את המסר לקהל. ייתכנו מצבים שבהם תרצה להוסיף סרטונים למצגות PowerPoint באופן תוכנתי. לשם כך, מאמר זה ילמד אותך כיצד להטמיע וידאו במצגות PowerPoint באמצעות C++.

C++ API להטמעת וידאו במצגות PowerPoint

נשתמש ב-Aspose.Slides for C++ API כדי להטמיע סרטונים במצגות PowerPoint. זהו ממשק API רב עוצמה ועשיר בתכונות התומך ביצירה, קריאה ושינוי של קבצי 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";

// צור מופע של המחלקה Presentation
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";

// צור מופע של המחלקה Presentation
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 באמצעות המחלקה מצגת.
  • עברו בלולאה בין השקופיות של המצגת.
  • עברו בלולאה בין הצורות בכל שקופית.
  • עבור כל צורה, בדוק אם הצורה היא 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 עבור C++ API. זהו ממשק API חזק המספק תכונות נוספות רבות לעבודה עם קבצי PowerPoint. אתה יכול לחקור את ה-API בפירוט על ידי ביקור בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.

ראה גם

טיפ: אולי תרצה לבדוק את ממיר Aspose FREE PowerPoint to Video מכיוון שהוא מאפשר לך להפוך את המצגות שלך לסרטונים מדהימים עם אפקטי מעבר.