إطار الفيديو
يمكن أن يساعد الفيديو الموضوع بشكل جيد في العرض التقديمي رسالتك في أن تكون أكثر إقناعًا وزيادة مستويات التفاعل مع جمهورك.
تسمح PowerPoint لك بإضافة مقاطع الفيديو إلى شريحة في عرض تقديمي بطريقتين:
- إضافة أو تضمين فيديو محلي (مخزن على جهازك)
- إضافة فيديو عبر الإنترنت (من مصدر ويب مثل YouTube).
لتمكينك من إضافة مقاطع الفيديو (كائنات الفيديو) إلى عرض تقديمي، توفر Aspose.Slides واجهة IVideo وواجهة IVideoFrame وأنواع أخرى ذات صلة.
إنشاء إطار فيديو مضمن
إذا كان ملف الفيديو الذي تريد إضافته إلى شريحتك مخزنًا محليًا، يمكنك إنشاء إطار فيديو لتضمين الفيديو في عرضك التقديمي.
- إنشاء نسخة من فئة Presentation.
- الحصول على مرجع الشريحة من خلال فهرسها.
- إضافة كائن IVideo وتمرير مسار ملف الفيديو لتضمين الفيديو مع العرض التقديمي.
- إضافة كائن IVideoFrame لإنشاء إطار للفيديو.
- حفظ العرض التقديمي المعدل.
يوضح لك هذا الكود Java كيفية إضافة فيديو مخزن محليًا إلى عرض تقديمي:
// إنشاء كائن من فئة Presentation
Presentation pres = new Presentation("pres.pptx");
try {
// تحميل الفيديو
FileInputStream fileStream = new FileInputStream("Wildlife.mp4");
IVideo video = pres.getVideos().addVideo(fileStream, LoadingStreamBehavior.KeepLocked);
// الحصول على الشريحة الأولى وإضافة إطار فيديو
pres.getSlides().get_Item(0).getShapes().addVideoFrame(10, 10, 150, 250, video);
// حفظ العرض التقديمي على القرص
pres.save("pres-with-video.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}
بدلاً من ذلك، يمكنك إضافة فيديو عن طريق تمرير مسار الملف مباشرة إلى طريقة addVideoFrame(float x, float y, float width, float height, IVideo video) :
Presentation pres = new Presentation();
try {
ISlide sld = pres.getSlides().get_Item(0);
IVideoFrame vf = sld.getShapes().addVideoFrame(50, 150, 300, 150, "video1.avi");
} finally {
if (pres != null) pres.dispose();
}
إنشاء إطار فيديو مع فيديو من مصدر على الويب
تدعم Microsoft PowerPoint 2013 والإصدارات الأحدث مقاطع الفيديو من YouTube في العروض التقديمية. إذا كان الفيديو الذي تريد استخدامه متاحًا عبر الإنترنت (على سبيل المثال، على YouTube)، يمكنك إضافته إلى عرضك التقديمي من خلال رابط الويب الخاص به.
- إنشاء نسخة من فئة Presentation.
- الحصول على مرجع الشريحة من خلال فهرسها.
- إضافة كائن IVideo وتمرير الرابط إلى الفيديو.
- تعيين صورة مصغرة لإطار الفيديو.
- حفظ العرض التقديمي.
يوضح لك هذا الكود Java كيفية إضافة فيديو من الويب إلى شريحة في عرض PowerPoint:
// إنشاء كائن Presentation يمثل ملف العرض التقديمي
Presentation pres = new Presentation();
try {
addVideoFromYouTube(pres, "Tj75Arhq5ho");
pres.save("out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
private static void addVideoFromYouTube(Presentation pres, String videoID)
{
// إضافة إطار فيديو
IVideoFrame videoFrame = pres.getSlides().get_Item(0).getShapes().addVideoFrame(
10, 10, 427, 240, "https://www.youtube.com/embed/" + videoID);
videoFrame.setPlayMode(VideoPlayModePreset.Auto);
// تحميل الصورة المصغرة
String thumbnailUri = "http://img.youtube.com/vi/" + videoID + "/hqdefault.jpg";
URL url;
try {
url = new URL(thumbnailUri);
videoFrame.getPictureFormat().getPicture().setImage(pres.getImages().addImage(url.openStream()));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
استخراج الفيديو من الشريحة
بالإضافة إلى إضافة مقاطع الفيديو إلى الشرائح، تتيح لك Aspose.Slides استخراج مقاطع الفيديو المضمنة في العروض التقديمية.
- إنشاء نسخة من فئة Presentation لتحميل العرض التقديمي الذي يحتوي على الفيديو.
- التكرار من خلال جميع كائنات ISlide.
- التكرار من خلال جميع كائنات IShape للبحث عن VideoFrame.
- حفظ الفيديو على القرص.
يوضح لك هذا الكود Java كيفية استخراج الفيديو الموجود على شريحة عرض:
// إنشاء كائن Presentation يمثل ملف العرض التقديمي
Presentation pres = new Presentation("VideoSample.pptx");
try {
for (ISlide slide : pres.getSlides())
{
for (IShape shape : slide.getShapes())
{
if (shape instanceof VideoFrame)
{
IVideoFrame vf = (IVideoFrame) shape;
String type = vf.getEmbeddedVideo().getContentType();
int ss = type.lastIndexOf('-');
byte[] buffer = vf.getEmbeddedVideo().getBinaryData();
// الحصول على امتداد الملف
int charIndex = type.indexOf("/");
type = type.substring(charIndex + 1);
FileOutputStream fop = new FileOutputStream("testing2." + type);
fop.write(buffer);
fop.flush();
fop.close();
}
}
}
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}